【PHP】下らねぇ質問はここに書き込みやがれ 53
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/08/25(土) 22:11:08ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 52
http://pc11.2ch.net/test/read.cgi/php/1186794483/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0680nobodyさん
2007/09/03(月) 14:24:38ID:???PHPマニュアルで比較演算子のページを英語にしたら
Comparison Operators
だったよ
PHP5.2.4が出てた
0681nobodyさん
2007/09/03(月) 14:36:42ID:???javascriptを入れるとエラーになります。どうすればいいですか
0682681
2007/09/03(月) 14:53:02ID:???0686nobodyさん
2007/09/03(月) 15:07:30ID:9rbjiygjメールを送り、特定のアドレスに送られたメールをhoge.phpに渡し処理させるというのを
してみたいのですが、Sendmailの設定をどのようにすれば良いのでしょうか?
Sendmailは「/usr/sbin/sendmail」のパスで通っていて使えるようです。
他に何か調べるようなことはありますでしょうか。
0687686
2007/09/03(月) 15:10:03ID:9rbjiygj.forwardが使えないといけないと聞いたのですが、これが使えるかどうか調べる方法はありますか?
0688nobodyさん
2007/09/03(月) 15:27:27ID:5z4DsU1G何か良いライブラリのようなものはありますでしょうか?
同梱したいので、ライセンスフリーのもの(大体そうなのかな?)がいいんですが・・・。
0689nobodyさん
2007/09/03(月) 16:09:28ID:???エラー文にはなんて書いてあるの?
おそらくそれで全て解決するんでない?
>>687
メール受信時の転送先をコマンド実行のPHP書けばOK
.forwardは鯖缶にきくのが一番早い
0690nobodyさん
2007/09/03(月) 16:11:26ID:9rbjiygj使い方は.htaccessと同じような感じでいいのですね
有難うございます
0692nobodyさん
2007/09/03(月) 16:25:27ID:???PHPのページをブラウザ(IE6/火狐)で開くときに、まれに30秒〜60秒待たされます。
サーバの設定が悪いのでしょうか。ご存知の方、お願いします。
-環境-
PHP 5.2.3 ソースからコンパイル
Apache 2.0.54
Oracle xe client 10.2.0.1
OS Debian sarge
設定 ほぼ初期値
0693nobodyさん
2007/09/03(月) 16:30:17ID:???0694nobodyさん
2007/09/03(月) 16:31:17ID:3A8ZdpHH0695nobodyさん
2007/09/03(月) 16:32:15ID:???ttp://sourceforge.jp/projects/mbemulator/
こいつはGPLなのでライセンスフリーじゃないけど。
0696nobodyさん
2007/09/03(月) 16:54:06ID:???while (!@mkdir(DE_LOCKFILE))
mkdirが成功するまでループするという意味らしいことは分かるのですが
@は何ですか。どういう意味があるんですか?
php @ で検索しても要領を得ないので教えてください
0698696
2007/09/03(月) 17:03:28ID:???マニュアルに書いてました
0700nobodyさん
2007/09/03(月) 17:13:26ID:???0701nobodyさん
2007/09/03(月) 17:27:07ID:???0702nobodyさん
2007/09/03(月) 17:43:59ID:???0703nobodyさん
2007/09/03(月) 17:52:32ID:???HTTP_Download あたりで
FTPサーバのデータを
直接ブラウザからダウンロードできるようにできないでしょうか。
現在は、
ftp_get で一旦サーバにダウンロードしてから
それをHTTP_Download で指定してダウンロードしてます。
ファイルを一旦サーバに落として、
ではなく、あくまでPHPはデータを
左(FTPサーバ)から右(ブラウザ)へ受け流す、
という感じでいきたいのです。
0705nobodyさん
2007/09/03(月) 17:54:51ID:???0706nobodyさん
2007/09/03(月) 17:55:43ID:7Ly2K7mTHTTP_Download あたりで
FTPサーバのデータを
直接ブラウザからダウンロードできるようにできないでしょうか。
現在は、
ftp_get で一旦サーバにダウンロードしてから
それをHTTP_Download で指定してダウンロードしてます。
ファイルを一旦サーバに落として、
ではなく、あくまでPHPはデータを
左(FTPサーバ)から右(ブラウザ)へ受け流す、
という感じでいきたいのです。
0707nobodyさん
2007/09/03(月) 18:05:50ID:kOE1ZsUiタイトルと文の2つのフォームがあって、提出ボタンを押すと
自動的に毎回タイトル.txtを作るにはどう書いたらいいんでしょうか?
0708nobodyさん
2007/09/03(月) 18:10:02ID:???とりあえずどの程度まで出来ているのか書け
$name = "自動的に毎回タイトル.txt";
fopen($name, "w");
0709nobodyさん
2007/09/03(月) 18:10:48ID:???0710nobodyさん
2007/09/03(月) 18:20:02ID:9rbjiygj#Smartyクラス用の定義
$smarty->template_dir = "テンプレートフォルダ";
$smarty->compile_dir = "コンパイルフォルダ";
$smarty->cache_dir = "キャッシュフォルダ";
と書いてあるのですが、各フォルダが見つかりません
自分で作成するものなのでしょうか?
0712nobodyさん
2007/09/03(月) 18:27:06ID:kOE1ZsUi今作っているのは、post.phpで、上の2つのフォームがあって
提出すると、タイトル(例:今日の晩御飯)に.txtをつけたファイルが
自動的にサーバーのfilesの中に作られる。
そして、次に作りたいのがメイン画面(index.php)で。それぞれのファイルへのリンクが表示され、
クリックするとその記事のみが表示される(archive.php)。
メイン画面にはその他にも最新の記事10個が上から順番に表示され、その下にはpost.phpへのリンクがある。
post.phpは最初からファイルを作っておけばそこに追加できるんですが、新しいファイルを記事ごとに
作る方法がわかりません。
そして、index.phpはデザインはできるんですが、postへのリンクと、archive.phpへのリンクの作り方が今いち。
結局ほとんどわかってないんですが、海外なもので日本語の本を探せず、困ってます。
0714nobodyさん
2007/09/03(月) 18:30:27ID:???FTP関数じゃムリじゃないかな。
curlならいける。
HTTP_Download を使うのもAPI的にムリっぽい。
でも中身のファイルを読む部分をオーバーライドすりゃいいだけだね。
ていうか、単純にHTMLリンクをつかえばいいと思うが。
0715nobodyさん
2007/09/03(月) 18:38:26ID:???post.phpにフォームがあるんです。
そしてフォーム入力して送信すると、2つあるフォームのうち
タイトルがファイル名の.txtの前に自動的に行くようにしたいんです。
しかも、毎回送信するたびにタイトル.txtは作られます。
0716nobodyさん
2007/09/03(月) 18:40:28ID:???もっと一般化して質問しろ。
0717nobodyさん
2007/09/03(月) 18:41:26ID:???とりあえず質問している間は常にID出しておけ
post.phpからどこにフォームのデータを送信するの?
タイトルがファイル名意外の.txtは作れるの?
ってか、ファイルを作る方法知ってるなら名前自分で決めてるの知ってるよな
0718nobodyさん
2007/09/03(月) 18:42:47ID:EPVlEXdmibase_fetch_object で BLOB を含む SQL を実行すると、
Warning: ibase_fetch_object() [function.ibase-fetch-object]: conversion error from string "BLOB" in hogehoge.php on line 1183
と言われて失敗する。
マジ助けてくれ・・・
ちなみにSQLは単純なSELECT。
0720nobodyさん
2007/09/03(月) 18:46:54ID:???タイトルフォーム
本文フォームがあって
データ送信はできるんですが、タイトルを使ったファイルの作り方がわからないんです。
0721718
2007/09/03(月) 18:52:08ID:EPVlEXdm即レスthx!!
どこで予約語使ってるのかまったく不明・・・
SELECT IDXTEXT FROM HOGETABLE WHERE UPPER(IDXTEXT) LIKE UPPER('%hoge%')
上の IDXTEXT が BLOB(string) なんだけど、もしかして LIKE だめ?
0722nobodyさん
2007/09/03(月) 18:53:34ID:???http://www.hitachi.co.jp/Prod/comp/soft1/manual/pc/d635700/W3570234.HTM
0723nobodyさん
2007/09/03(月) 18:58:34ID:???http://jp.php.net/fopen
で作れる
0724718
2007/09/03(月) 19:01:38ID:EPVlEXdmthx!!
ただ・・・俺は本気で頭が悪いようだ。
何が問題なのかまったくわからん。
IDXTEXT は問題ないみたいだし、LIKE も単純な演算子だし UPPER は関数だし・・・
頼む答えを教えてくれ><
0725nobodyさん
2007/09/03(月) 19:05:01ID:KucjbbQWhttp://pc11.2ch.net/test/read.cgi/php/1188731930/
を削除依頼出しておきました。
もっと勉強をしてわからないところを
きちんとわかってから質問できるようにしたいと思います。
昨日、今日とすいませんでした。
0726nobodyさん
2007/09/03(月) 19:10:21ID:ZgE8wfr0A,
while(file_exists($lf)){
sleep(1);
}
mkdir($lf,0755);
B,
while(mkdir($lf,0755) === false){
sleep(1);
}
0727718
2007/09/03(月) 19:11:41ID:???BLOB に対し UPPER(BLOB) はサポートされてなかった・・・
INSERT 時に UPPER することにした。
スレ汚しスマソ。
0729nobodyさん
2007/09/03(月) 19:34:50ID:LZnRmggrそれだとwで開いた時にデータが空になりますし
r+で開くとゴミに注意しないといけない。
0730nobodyさん
2007/09/03(月) 20:11:16ID:???0733nobodyさん
2007/09/03(月) 20:18:42ID:M+H83k8jmkdirは時間がかかるから使えないだろ
0734nobodyさん
2007/09/03(月) 20:23:24ID:LZnRmggr今はそんな事ないのかな?
0735nobodyさん
2007/09/03(月) 20:34:28ID:???flock()により、(ほとんどのUNIXやWindowsさえ含む) ほとんど全てのプラットフォームで使用可能な簡易な読み手/書き手モデ ルが実現されます。
0736nobodyさん
2007/09/03(月) 20:58:50ID:???基本的には読み書きに関わらずfopenする度にflock($fp, LOCK_EX); とすれば良いのかな。
掲示板などの処理だとそうなりますよね?。
0737nobodyさん
2007/09/03(月) 21:39:44ID:???0738nobodyさん
2007/09/04(火) 00:40:49ID:???返信が遅くなって申し訳ない&レスありがとう
こちらの書き方に問題があったようで、実はそのレベルには達してなかったりしますorz
ただ今後必要になると思うので、参考にさせてもらいます。
セットアップと言うかインストール自体出来てなかったのですが、↓を参考に一応インストールだけは出来たようです。
ttp://www.zend.co.jp/tech/index.php?PHP%A5%A2%A5%D7%A5%EA%A5%B1%A1%BC%A5%B7%A5%E7%A5%F3%2FSmarty%2F002%20%C6%B3%C6%FE
また分からない事があったらご指導ください。
0739nobodyさん
2007/09/04(火) 01:28:40ID:???ダウンロード機能をつけるのに一つ懸念があります。
ダウンロードするファイルに対するエスケープ?処理のような
ものを行なわなくてもいいんでしょうか。
ダウンロード時にXSSのように働くデータをアップされて、
それをダウンロードすると・・・・
みたいな心配はしなくてもいいんでしょうか。
ほかのうpろだのソースを見た限り、特にこの点を心配している
様子がないのですが。
0740nobodyさん
2007/09/04(火) 01:42:34ID:???> 様子がないのですが。
どうせ知らないだけ。
http://internet.watch.impress.co.jp/cda/news/2004/08/03/4124.html
http://slashdot.jp/security/05/05/19/088246.shtml
0741nobodyさん
2007/09/04(火) 02:10:38ID:bPRYri3Q環境は、php 5とMAC OS X SERVER 10.3です。
宜しくお願いいたします。
0742nobodyさん
2007/09/04(火) 02:30:42ID:???0743nobodyさん
2007/09/04(火) 02:35:25ID:bPRYri3Qご回答ありがとうございます。MACからじゃ駄目ですかorz
0744nobodyさん
2007/09/04(火) 04:06:26ID:9L3FCPFc最近はデータをDBに格納するのが当たり前になってきたから、それで悩まないけど。
0746nobodyさん
2007/09/04(火) 04:24:50ID:???>プリペアドステートメントに渡すパラメータは、引用符で括る必要は ありません。
>それはドライバが自動的に行います。 アプリケーションで明示的にプリペアドステートメントを使用するように
>すれば、SQL インジェクションは決して発生しません
とあるんですけど、mysql_real_escape_stringをしなくても問題ナッシング。
つう解釈でokなんですか?
0747nobodyさん
2007/09/04(火) 05:12:23ID:E1xjDifvif($esse == 1) {
$flag = 0;
$length = count($eles) - 1;
foreach($_POST as $key=>$var) {
$key = strtr($key, $string_from, $string_to);
if($var == "eweb_submit") ;
else {
for($i=0; $i<=$length; $i++) {
if($key == $eles[$i] && empty($var)) {
$errm .= "<FONT color=#ff0000>「".$key."」は必須入力項目です。</FONT><BR>\n";
$flag = 1;
}
}
}
}
---------------------
フリーのメールフォームのソースなのですが、
ここの中の
if($var == "eweb_submit") ;
else {
ってどうゆう意味でしょうか・・・
$varがeweb_submitならその下のelseの中を実行する・・・ってことでしょうか?
0748nobodyさん
2007/09/04(火) 05:36:20ID:???逆。$varがeweb_submitじゃないときにその下のelseの内容を実行する。
if($var != "eweb_submit"){
と同義。
0749nobodyさん
2007/09/04(火) 09:21:07ID:???0751nobodyさん
2007/09/04(火) 09:34:16ID:???0752nobodyさん
2007/09/04(火) 10:14:43ID:???日本じゃ時間換算で5000円も掛かるらしい。
phpを仕事でやっている奴は、もう駄目だなぁ。
総務の非定型な仕事に比べて、日本語ができなくて誰でも手軽にできるphpじゃ、中国人なら500円位でやりそうだ。
0753nobodyさん
2007/09/04(火) 10:16:59ID:???0754nobodyさん
2007/09/04(火) 10:21:30ID:???0755675
2007/09/04(火) 10:22:38ID:9L3FCPFc今日は新しいクエスチョンについて教えて下さい。
if( $a and $b) continue;
↑このandですが(orの場合もあり)、and や or は総称して何と呼べばいいんでしょうか?
英語での呼び方もついでにお願いします。
0756675
2007/09/04(火) 10:25:10ID:9L3FCPFcでも日本のベンダーが間に入っていたので、発注額としては普通に安いくらいだった。
間に入ったベンダーが儲かってるんだろうなぁ。
0757nobodyさん
2007/09/04(火) 10:29:05ID:???http://jp.php.net/operators
0758nobodyさん
2007/09/04(火) 10:32:42ID:???これからずっと質問していくつもりか
前回の質問でヒント出したんだからマニュアル見るとか検索するとかしましょうよ
0759nobodyさん
2007/09/04(火) 10:33:57ID:???業界全体として未だにメジャーにはなっていない。
昨今の技術者不足で単金が下がる所か上がっているしw
0760nobodyさん
2007/09/04(火) 10:39:41ID:???日本では犯罪や、日本人が嫌うようなやり方で金儲けてる輩が目立つけど、
あれだけ人口がいれば多種多様なわけで、真剣に頑張ってるやつもいる。
ハングリー精神じゃないけどね。
そういうわけで学校すらいけなかったなんていう貧困層でも、
ちゃんと教えれば真剣にやって、そこそこ使えるようになるのが中国人。
これは貧困層の話だけど、中級層↑では学術機関で学んだハッカーもたくさんいる。
日本人相手にウイルスばら撒いたり、巨大な著作権違反SNSみたいのを開設したりするのは、
わりとこういう階級の人間。
0761675
2007/09/04(火) 10:40:03ID:9L3FCPFc0764nobodyさん
2007/09/04(火) 12:48:17ID:???うpされたデータをあくまでも意味づけのないバイナリデータとして
扱ってる限り問題は特に問題はないよ。ただ勝手に意味があるものとして
処理してしまうブラウザとかがあるが。
0765nobodyさん
2007/09/04(火) 13:47:51ID:kR6gSNsI10Gを超えるファイルを実行するとfalseを返して終了してしまいます。
300M程度のファイルを実行するとうまく行ってるのですが・・。
0766nobodyさん
2007/09/04(火) 14:42:53ID:t7FQpoBy0770nobodyさん
2007/09/04(火) 15:55:05ID:t7FQpoByサンクス
いってまいります
0771nobodyさん
2007/09/04(火) 16:22:15ID:t7FQpoBy0772nobodyさん
2007/09/04(火) 16:29:07ID:???0773nobodyさん
2007/09/04(火) 16:30:28ID:t7FQpoByそれまでに自己解決できれば理想なんだが・・・
0774nobodyさん
2007/09/04(火) 17:46:28ID:???ブラウザで動作確認をしているのですが
エラーメッセージは何処で確認できるのでしょうか
上手く動いていなくても空のHTMLのページが表示されるだけで
何が悪いのか分からないのですが
0776nobodyさん
2007/09/04(火) 17:57:00ID:jHnRn6Rzhoge.htmlに以下を記述
$i =0;
while($i < 500){
sleep(10);
$i++;
}
とした場合 hoge.html を 10秒ごとに 500回アクセスするのと、サーバーへの
負荷は変わらないのでしょうか。
0777nobodyさん
2007/09/04(火) 18:08:35ID:???何がやりたいかよくわかりませんがたぶん10秒リロードが必要なのでしょう。
そう仮定するとsleepは負荷以前に目的に合わないはずです。
0779nobodyさん
2007/09/04(火) 18:45:16ID:EHN55NHEやりたいことは、
・ブラウザは web serverを稼働させる端末でのみ動作させる を条件で、
動作中のブラウザ(自身)を終了させたいのですが。
ボタンクリックで system( "ABC" ); を起動します。
コマンドABCは ブラウザのpid を調べてkillする Cで記述したプログラムです。
コマンド自体は実行されるのですがブラウザが死にません。
コンソールから ABC を実行するとkill出来ます。
実行ユーザーは同じです。
PHP-4.3.9
よろしくお願いします。
0780nobodyさん
2007/09/04(火) 18:48:40ID:5f+cO2zZAクラスの中で使用した変数をBクラスへ渡す方法が分かりません。
PHP4 / linux です。
どなたかヘルプミー
■ このスレッドは過去ログ倉庫に格納されています