【PHP】下らねぇ質問はここに書き込みやがれ 67
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/04/11(金) 06:38:35ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは970が立ててください立たなかった場合は980よろ
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 66
http://pc11.2ch.net/test/read.cgi/php/1205655807/
◆質問する時の注意
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を必ず明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくはトリップをつける事。
◆質問後の注意
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくは質問時のトリップをつける事。
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0332326
2008/04/19(土) 20:28:35ID:???0333nobodyさん
2008/04/19(土) 20:30:02ID:???0334nobodyさん
2008/04/19(土) 20:30:44ID:???0335nobodyさん
2008/04/19(土) 20:32:04ID:???0337nobodyさん
2008/04/19(土) 20:44:33ID:???ksg
0339nobodyさん
2008/04/19(土) 21:42:16ID:???0340中沢
2008/04/19(土) 22:25:14ID:8RVDFTU7お願いいたします
0341nobodyさん
2008/04/19(土) 22:33:51ID:???ヒント:
http://pc11.2ch.net/test/read.cgi/php/1150508106/
0342nobodyさん
2008/04/19(土) 22:35:04ID:???0343nobodyさん
2008/04/20(日) 04:40:12ID:???デリヘル依頼者と正規表現とどう関係があるの?
0344nobodyさん
2008/04/20(日) 04:46:05ID:???0346nobodyさん
2008/04/20(日) 07:20:37ID:???0347nobodyさん
2008/04/20(日) 15:51:29ID:cb0wPZjr戻したいです。
arra_mapを使ったところ、第3引数のENT_QUOTESが配列では無いと怒られてしまいます。
$_POST = array_map('htmlspecialchars',$_POST, ENT_QUOTES, 'UTF-8');
どうしたら良いでしょうか。
0348nobodyさん
2008/04/20(日) 16:19:18ID:???0349nobodyさん
2008/04/20(日) 16:52:53ID:cb0wPZjrありがとうございます。
怒られないようにしたら出来ました。
0350nobodyさん
2008/04/20(日) 16:53:26ID:???0351Defort
2008/04/20(日) 17:11:16ID:QNOTdt2phttp://tool-1.net/
について聞きたいのですが、index.cgiのスクリプトが丸見えみたいなのですが、どうやったらみれるのですか?
ヌルバイト攻撃使っているのですか?
0352nobodyさん
2008/04/20(日) 17:31:23ID:???で得られるホスト名って信頼できる?
たとえば、gethostbyaddr($hoge)
で ***.yahoo.co.jp みたいなのが
でたら、 $hoge は yahoo関連のIPと断定できる?
yahooとは関係ない第三者のIPが ***.yahoo.co.jp みたいなホスト名を
返すことってありえませんか?
0353352
2008/04/20(日) 17:33:32ID:???0354nobodyさん
2008/04/20(日) 17:57:34ID:Tze2JaW2gc_test()に置き換えようと思っています。
session_set_save_handler("", "", "", "", "", "gc_test");
session_set_save_handler(null, null, null, null, null, "gc_test");
と試してみましたが
Warning: session_set_save_handler() [function.session-set-save-handler]: Argument 1 is not a valid callback in xxx.php on line 3
というwarningが出て目的が達成できません。
openその他の関数をデフォルトのままにするにはどのようにすれば良いでしょうか?
0355320
2008/04/20(日) 18:38:39ID:???ありがとうございました!
magic_quotes_gpcがずっとわからなかったのですが
.htaccessで設定できるのですね!
文字化けの心配がなくなりました。
0356nobodyさん
2008/04/20(日) 19:26:38ID:8958Dk4L<input type="file" name="data" size="30">
<input type="submit" value="アップロード">
</form>
<?php
$filedir = "./file/";
$filename = $_FILES['data']['name'];
if(file_exists($_FILES['data']['tmp_name'])){
$filesize = filesize($_FILES['data']['tmp_name']);
if($filesize <= 1050000){
if(move_uploaded_file($_FILES['data']['tmp_name'],$filedir.$filename)){
echo "アップロードしたファイル・・・ファイル名:".$filename." ファイルサイズ:".$filesize."Byte";
echo "<br><br>";
}
}
else{
echo "ファイルサイズが大きすぎます!";
}
}
if($filename){
echo "<img src='./$filedir/$filename'>";
}
?>
このような感じでアップローダーを作ってるのですが、
ファイル名がそのまま保存されるのをfile0001みたいな感じで保存することはできますか?
0357nobodyさん
2008/04/20(日) 19:33:38ID:???0358nobodyさん
2008/04/20(日) 19:46:33ID:???まあ、どっかのサイトとか本が $filename = $_FILES['data']['name']; で説明してたのを
使い回してるのかもしれない。
0359nobodyさん
2008/04/20(日) 19:47:01ID:8958Dk4L0360nobodyさん
2008/04/20(日) 19:59:36ID:???0362nobodyさん
2008/04/20(日) 20:08:01ID:???0363nobodyさん
2008/04/20(日) 20:11:57ID:???0364nobodyさん
2008/04/20(日) 20:51:05ID:???0365nobodyさん
2008/04/20(日) 21:28:40ID:???OSはWinXP、webサーバはapacheです。
perl、phpは実行できる環境です。
ダウンローダーからのアクセスをhttpステータス403で
返したいです。その為、webサーバのログをcronで
調査し、ある条件(例えば1分間に60回アクセス)
に合致したホスト(IPアドレス)を.htaccessの
deny fromに追加したいです。
そのような、perl,PHPはあるでしょうか?
0366nobodyさん
2008/04/20(日) 21:29:20ID:PJ8uyzSsくだらない質問、お願いします。
OSはWinXP、webサーバはapacheです。
perl、phpは実行できる環境です。
ダウンローダーからのアクセスをhttpステータス403で
返したいです。その為、webサーバのログをcronで
調査し、ある条件(例えば1分間に60回アクセス)
に合致したホスト(IPアドレス)を.htaccessの
deny fromに追加したいです。
そのような、perl,PHPはあるでしょうか?
0367nobodyさん
2008/04/20(日) 21:42:41ID:???0368nobodyさん
2008/04/20(日) 22:10:51ID:PJ8uyzSspycron.exeってやつで、
unixのcron相当を動かしてます。
0369nobodyさん
2008/04/20(日) 22:21:56ID:???本気でやるならJP1とか使えよ。
本気じゃねーのかよ。
0372nobodyさん
2008/04/21(月) 00:51:15ID:???0373nobodyさん
2008/04/21(月) 00:55:33ID:???http://life9.2ch.net/test/read.cgi/utu/1208624190/
0374366
2008/04/21(月) 07:24:16ID:f7rHed3v私の質問に対して、良い案は
ありますか?
お願いします。
0375nobodyさん
2008/04/21(月) 07:37:38ID:???0377nobodyさん
2008/04/21(月) 12:32:43ID:8HZkrnGUメールの遅延が発生したりするのでしょうか?
お問い合わせフォームを作った時、管理者・問い合わせ者・保存用と
3つの箇所に送信するのですが、たまにメールの受信が遅かったり
バラバラに受信したりします。
0380377
2008/04/21(月) 13:08:39ID:8HZkrnGU「JP1」と言うのを検索しましたが、
メール処理とあまり関連しないような気が・・・。
>>379
「そんなもんだ」とは思っているのですが、
メールが届かない事による語弊もありますし、
プログラムに詳しくない人は「メールは必ず届くものだ」と
考えるので、お問い合わせフォームでそれが起きると不安がられます。
0381nobodyさん
2008/04/21(月) 13:16:15ID:???いつでもラグレスで届くシステム作ったらそれだけで億万長者になれるわw
0382nobodyさん
2008/04/21(月) 13:20:19ID:???SMTPサーバのログとキューを確認したら?
きちんとmail関数で送信できる?
それとPOP/IMAPサーバの方もチェックした?
>>378
JP1は無関係だろ?
一応は送信できているんだからジョブは生きてるだろ
0383nobodyさん
2008/04/21(月) 13:26:25ID:???ありがとう。
0384377
2008/04/21(月) 13:36:11ID:8HZkrnGUそれは注意事項に記載しているのですが、
いかんせん電話までしてくる人が多くて‥。
>>382
サーバの事は疎くてSMTPサーバのログとキューは確認してないです。
また、mail関数(厳密に言えばmb_send_mail関数)を使っていて
これまで問題なく送信、一括配信など行えていたのですが、
なぜか今作っているサイトでは遅延が発生します。
やっぱりサーバの問題もあるんですかね?
さくらインターネットのサーバなんですが。
0385377
2008/04/21(月) 13:38:55ID:???サーバのPHPが4.3.9なのが原因なのかも・・・。
0386nobodyさん
2008/04/21(月) 13:48:07ID:???> これまで問題なく送信、一括配信など行えていたのですが、
> なぜか今作っているサイトでは遅延が発生します。
どちらも正常な動作ですよ。電話鳴らされるのはご愁傷様としか言えない。
メール配送の仕組みや MTA のご機嫌の問題を PHP で解決するのは大変そう。
0387nobodyさん
2008/04/21(月) 13:53:45ID:???0388nobodyさん
2008/04/21(月) 13:54:56ID:???人を信じることから接してみたら?
俺もそうしたら、幸せなことが増えたと思う。
苦情をネガティブに考えないで、感謝する気持ちで捉えてみて。
0389377
2008/04/21(月) 14:01:16ID:???やっぱり「普通のこと」なんですね。
さっきサーバに詳しい友人にも電話して聞いてみたのですが、
「メールの遅延や送られないことはある。でもPHPのバージョンを変えるとか
サーバの設定を変えるとかそういう操作は時期早々。やらない方が良い」
と言われました。ですので、このまま静観します。
ご回答いただいた方、ありがとうございました。
0390nobodyさん
2008/04/21(月) 14:01:53ID:eazv5Nmh0391nobodyさん
2008/04/21(月) 14:05:44ID:???0392nobodyさん
2008/04/21(月) 14:06:06ID:???プロなら、しょうがないで済まさないぞ。
メールが送信できないケースには様々な原因が考えられるが、
リターンメールが帰ってくるケースではそれに対処するプログラムを組む必要がある。
でないと、到達不能メールが無限ループを繰り返し、相手のサーバーは中継サーバーもダウンさせる。
そうなったら、威力業務妨害で捜査を受ける場合もあるし、賠償問題にも発展する。
かかる観点まで見通して実装するかどうかが、プロとアマの分水嶺だよ。
0394nobodyさん
2008/04/21(月) 14:18:19ID:???実装するかどうかが分水嶺なのですね。わかります。
0395377
2008/04/21(月) 14:19:08ID:???お恥ずかしながら、sendmail送信の場合、ログが残らないと思っていました・・。
と言うことは、そのログを閲覧できるレンタルサーバを借りなければ
いけないと言うことですよね?さくらじゃ無理そうだ・・・
0396nobodyさん
2008/04/21(月) 14:22:38ID:???送信関連の規制にひっかかってるんじゃね?
スクリプトである程度調整できるかもしれないけど。
0397377
2008/04/21(月) 14:25:00ID:8HZkrnGU1日10件もお問い合わせがないので、送信規制にかかってなさそうです。
アクセスも多くて500PVほどですし。
結構、簡単に考えていたのですが、色々と考えるべき事が多いのですね。。
0398390
2008/04/21(月) 14:25:02ID:eazv5Nmh0399nobodyさん
2008/04/21(月) 14:27:24ID:???そこから送信されるメールは一切受け付けてくれなくなるよ。
インターネットで死亡宣告を受けるようなもの。
数件ならいいけど、数百件にもなったら危険水域。
0400nobodyさん
2008/04/21(月) 14:30:40ID:???(PHP_OS != 'WINNT') ? error_reporting(0) : error_reporting(E_ALL);
0401nobodyさん
2008/04/21(月) 15:55:39ID:tP2T0+Jy編集できるアプリってありますか?
0402nobodyさん
2008/04/21(月) 16:13:15ID:???http://phpsqliteadmin.sourceforge.net/
0403nobodyさん
2008/04/21(月) 16:21:47ID:tP2T0+Jy0404nobodyさん
2008/04/21(月) 16:46:56ID:???0405390
2008/04/21(月) 16:47:11ID:eazv5Nmhサンクスコ
0406366
2008/04/21(月) 16:53:15ID:???ありがとございました。
0407nobodyさん
2008/04/21(月) 21:40:04ID:???0408nobodyさん
2008/04/21(月) 21:56:39ID:???無限ループって何だよ。
Fromを入力可能にするとか?ありえないし。
メールヘッダーインジェクション可能だと、サーバー止められるかもだけど。
>>390
作る時はE_STRICTでやってる。
なんか、本番環境でdisplay_errorがonの所多過ぎない?
ちなみにdisplay_errorはini_setしてもあまり意味無い。
iniでdisplay_error offで、ini_setでonにすると、
パースエラーの時、ini_set自体が実行されないのでパースエラーが表示されない。
逆も然り。
まあ、逆の場合は本番環境でパースエラーは無いだろうから良いっちゃ良いけど、
精神衛生上良くない気がする。
0409のし図
2008/04/21(月) 23:17:05ID:YYj5TAUNhttp://mk-board.net/koukoku.pm
穴みたいです
セキュリティに詳しい方教えて下さい
0410nobodyさん
2008/04/21(月) 23:22:27ID:???cgiは関連付けされてるから見えないみたい!?
0411のし図
2008/04/21(月) 23:28:53ID:YYj5TAUN何かと方法ってないのですか?
0412nobodyさん
2008/04/22(火) 00:07:08ID:???0413nobodyさん
2008/04/22(火) 03:24:49ID:???0414nobodyさん
2008/04/22(火) 11:42:41ID:dlLjXVhcDBがMysqlのmyisam使わなきゃで、行ロックの代わりをやる必要が・・。
0415nobodyさん
2008/04/22(火) 11:49:33ID:???0418nobodyさん
2008/04/22(火) 12:41:18ID:???相手になりませんでした
0419nobodyさん
2008/04/22(火) 13:17:40ID:???0421nobodyさん
2008/04/22(火) 15:32:48ID:???wwwlangとかあゆ板とかなゆ板にもあるんだよな
0422nobodyさん
2008/04/22(火) 18:20:03ID:???0423nobodyさん
2008/04/22(火) 21:57:48ID:???何かいい手法はありますか?
tempnamでprefixじゃなくてsuffixの指定ができれば悩む必要なかったのだが
0424nobodyさん
2008/04/22(火) 22:30:17ID:???何故に?
0425nobodyさん
2008/04/22(火) 22:31:44ID:FtmTZwRrtime() . '.tmp' じゃだめ?
0426nobodyさん
2008/04/22(火) 22:39:33ID:???コミットしちゃえば正式なファイル名を振るんでユニークなIDも付けるんですが
time() . ".tmp"だと1秒以内に同時に作成されたときに一意性が保証されないですよね
microtime()を使ってファイルを作ってみてダメならリトライを数回やるってのは
よほどのアクセスが無ければ大丈夫な気はしますが泥くさいかなあ
0427nobodyさん
2008/04/22(火) 22:42:11ID:???0428nobodyさん
2008/04/22(火) 22:44:15ID:???0429nobodyさん
2008/04/22(火) 22:47:02ID:???ありがとうございました
0430nobodyさん
2008/04/23(水) 02:18:22ID:Wcjf8rbSすみませんが対処法をお分かりになられる方がおられましたら教授よろしくお願いいたします。
1.PHPでフォルダ(中にフォルダ・ファイルが入っています)を削除(unlinkやrmdir)しようとrmdirコマンドを実行しましたが、「中にファイルなどが入っているので消せません」とエラーになりました。再帰的にファイルを削除するしか方法はないのでしょうか?
参考になる再帰的にファイル・フォルダを削除するロジックを
ご存じでしたらご教授よろしくお願いいたします。
2.同様に、フォルダ(中にフォルダ・ファイルが入っています)をコピーしようとcopyコマンドを実行したら「権限がありません」とエラーが表示されました。
当方の環境はlinux環境ではなくwindows環境ですので権限とか関係ないように考えていたのですが、
windows環境でもディレクトリに権限の設定が必要なのでしょうか?
(また、chmod関数で0777権限を設定しましたがコピーできませんでした・・・)
■ このスレッドは過去ログ倉庫に格納されています