【PHP】下らねぇ質問はID出して書き込みやがれ 101
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2010/11/15(月) 13:00:07ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 100
http://hibari.2ch.net/test/read.cgi/php/1288168893/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0368nobodyさん
2010/12/01(水) 01:40:06ID:???ていうか最初に答え出てるのに引っ張るなよw
if (strlen($num) <= 3)
return $num;
} else {
return round($num, -3);
}
0369nobodyさん
2010/12/01(水) 10:44:50ID:KEK0dLq10370nobodyさん
2010/12/01(水) 10:59:50ID:???0371nobodyさん
2010/12/01(水) 11:16:50ID:B1SR7o7P(uオプションを使えばUTF-8なら使える…らしい)
mb_ereg_replaceを使えって色々なところに書いてあるんですが
色々試してみたんですが、preg_replaceでも普通にマルチバイトで
置換ができてしまいます。
UTF-8/EUC-JP/SJIS全て試し、漢字・半角カタカナなどもやりましたが
正常に処理されました。
PHPの環境によるんでしょうか?Windows+XAMPPのPHPです。
0372nobodyさん
2010/12/01(水) 12:01:46ID:???0373nobodyさん
2010/12/01(水) 12:54:07ID:???0374nobodyさん
2010/12/01(水) 12:57:12ID:???0375nobodyさん
2010/12/01(水) 13:18:36ID:???mb_internal_encoding
mb_regex_encoding
あたりがきちんと設定されていれば、pregでいいんじゃないの?
不具合起きたことないんだけど。
というか、ereg系はすでに非推奨になってるので、こっち使うほうが問題あると思う。
0376nobodyさん
2010/12/01(水) 14:52:40ID:???0377nobodyさん
2010/12/01(水) 15:10:40ID:???mb_ereg系はとくに記載がありませんでした。うーん。
0378nobodyさん
2010/12/01(水) 15:11:39ID:???mb_internal_encodingの設定ってmb系の関数で元の文字コードを指定しなかったときのデフォルトなだけだよね?
0379nobodyさん
2010/12/01(水) 15:12:23ID:???mb系じゃなきゃ、文字のエンコードなんかしったことじゃないから
SJISなら、漢字のつもりでもxx5Cって文字の後ろを\としてしまうとか、 ある漢字の中に 5Bがあって [ と勘違いするとか、
EUCの( [a1ca] が 押分[b2a1caac]って文字列内に見つかるとか。
0380nobodyさん
2010/12/01(水) 15:43:06ID:???0381nobodyさん
2010/12/01(水) 15:55:54ID:???mb_eregはバイナリセーフだから使ってよし
mb_languageって何にでも効くおまじないじゃないよ、そんなソースみたら笑っちゃうかも
0382nobodyさん
2010/12/01(水) 16:10:48ID:???間違って覚えてる人とか勘違いしてる人は少しくらいいるかもね。
0383nobodyさん
2010/12/01(水) 16:36:11ID:???文字化けすることを確認しました。
ありがとうございます。
0384nobodyさん
2010/12/01(水) 16:51:58ID:???Twitterのような感じのものです。他にはニコニコ生放送のタグや商品広告みたいな感じです。
ページをリロードしていないのに、内容が更新されていきます。
あれはどうやっているのでしょうか。
更新内容はDBに保存するとして、リロードしてないのにページの一部を更新する方法がわかりません。
0385nobodyさん
2010/12/01(水) 16:59:02ID:???0387nobodyさん
2010/12/01(水) 17:21:59ID:???0390nobodyさん
2010/12/01(水) 17:49:40ID:???おまえが書いて間違ってるかどうかチェックしてもらう側だろうがよ
0391nobodyさん
2010/12/01(水) 18:01:55ID:???一般人のインフラで多用するようなもんじゃないよ
リアルタイムにこだわるとリクエスト数が激しいから
すぐ管理者に目をつけられる
0392nobodyさん
2010/12/01(水) 18:02:04ID:???0394nobodyさん
2010/12/01(水) 19:47:55ID:???そのような筋は聞いたことがありません。
このスレのルールを承知しているのですか?
>>1をよく読みなおして私に質問があるならIDを出してからにしてください。
0395nobodyさん
2010/12/01(水) 19:50:48ID:???0397nobodyさん
2010/12/01(水) 23:40:58ID:u6fu+xrh200番を返すようになっています。これって正しくは500番のレスポンスコードを
返すのが正しい動作だと思い変更したいと思っています。
ただphp.iniの設定項目等で変えられないかと見てみたのですがそのような項目がちょっと
見つけられませんでした。
PHPのバージョンは5.1くらいだったと思います。
もし、何かご存知の方がいましたら教えてもらえると助かります。
0398nobodyさん
2010/12/01(水) 23:59:00ID:???動作的には200であってるんだが
0399nobodyさん
2010/12/02(木) 00:06:04ID:???サーバがリクエストの処理に失敗した。
0400nobodyさん
2010/12/02(木) 00:14:22ID:???headerで送出するのがいいんじゃないだろうか
http://www.php.net/manual/ja/function.trigger-error.php
http://www.php.net/manual/ja/function.set-error-handler.php
http://www.php.net/manual/ja/function.header.php
0401nobodyさん
2010/12/02(木) 00:21:12ID:???<?php
echo $a;
if (error_get_last()) {
header("Status: 500 Internal Server Error");
die();
}
あとはエラードキュメント用意する
0402401
2010/12/02(木) 00:26:59ID:???スルーして
0403nobodyさん
2010/12/02(木) 00:37:13ID:???例えばPHPからJavascriptを吐き出す時、エラーのページが200で返って来ると
ブラウザがエラーメッセージをjsファイルだと思い込んで実行して
Unexpected token '<'とかなんとか。
#500やら40xなら普通は実行されない。
ただそれは開発中の話であってHTTPステータス細工する暇あったらFatalError無くすし、
運用後に発生するかも知れない未知のエラーをログに残したいならphpのエラーログがあるし
そこまで必要性は感じなかったね
0404nobodyさん
2010/12/02(木) 00:53:52ID:i7zddhjb一日中調べていてこの事に触れている記事などが余りなくて
私が気にし過ぎなだけで、PHP的には正しい動作なのかなとも考えていました。
本来、エラー系は開発時に潰しておかないといけないのはその通りなのですが
開発時に私がいなかったもので一通りログから調べ直してみたいと思った次第です。
エラーログも切り分ければ良いのですが、エラーログの出力先がApaheと共通に
なっているので単純にResponseコードで判断できないかなと考えていました。
その設定を変えろよ、言われればおっしゃる通りですが、、、
なんとなく200番返しちゃうとエラーページも検索エンジンがインデックスしちゃうよなー
とかも考えたりするので何か解決策が無いかなとか考えています。
書いていただけた事を読み直して対応を考えたいと思います。ありがとうございます。
0405nobodyさん
2010/12/02(木) 00:57:01ID:???日付つけてなんかするシステムだとバグで時限式爆弾みたいなことはあるかもしれないが
なんかどこまでシステムを信頼していいのか不安になってきた
0406nobodyさん
2010/12/02(木) 01:11:44ID:i7zddhjbPHPのバージョンアップに伴って確認し切れない所でエラーが発生したり
とかは十分あり得るかなー、と。。。思います。
これは分かりやすい部分の例ですが。
それも本来、ちゃんと確認しろよって部分ですが諸般のIT事情により見れない時がありますので、、、
0407nobodyさん
2010/12/02(木) 01:39:12ID:???>一通りログから調べ直してみたい
そういう用途なら尚更PHPのエラーログを出す設定にした方がいいね
noticeもwarningも取れるし
>>405
単に負荷が高くなって開発時には想定してなかった場所でタイムアウトの類のエラーが出てきたとか
DBのコネクション数オーバーとか
データ保存領域のパーティションが一杯になったとか
DB作り直した時InnoDBのつもりがMyISAMでトランザクション効いてなかったりとか
md5がコンフリクトしたとかw
まあ「未知のバグ」と読み替えてもいいし
0408346
2010/12/02(木) 06:07:59ID:2FQwk5Ve> is_file, is_readable, file_exists等
いろいろ試したところ、同じサーバーにあるファイルだとそれでTRUEが確認できましたが、
外部サイトだとあってもなくてもFALSEを返してきます
外部のRSSのアクセス可能不可能の確認に使うにはなにかやり方があるのでしょうか?
教えていただけるとさいわいです
よろしくお願いします
0409nobodyさん
2010/12/02(木) 06:14:41ID:???get_headersとかでいいんじゃね
0410nobodyさん
2010/12/02(木) 06:17:51ID:2FQwk5Veありがとうございます
if (!preg_match('/Not Found/',$rssurl)){
で読みたいRSSの有無判定できるようになりました
感謝です
0411nobodyさん
2010/12/02(木) 06:18:48ID:???そのrssurlのとこにget_headersのデータはいってます
0412nobodyさん
2010/12/02(木) 06:20:42ID:???200だったらのほうがいいと思う
それだと503とかも通っちゃうしね
0413nobodyさん
2010/12/02(木) 06:29:44ID:2FQwk5Ve$head = get_headers($rss,1);
if (preg_match('/200|302/',$head[0])){
ありがとうございます
読みに行ったブログのrssは302を返してきたので、302も通るようにしました
レスポンスコードむずかしいです
0414nobodyさん
2010/12/02(木) 11:11:26ID:xyBKojGi使ったこと無いけどmysql_insert_id()みたいなものを。
0415nobodyさん
2010/12/02(木) 11:14:30ID:???0416nobodyさん
2010/12/02(木) 11:27:54ID:???0417nobodyさん
2010/12/02(木) 12:51:52ID:xyBKojGiできました。ありがとうございます。
DとO紛らわしいと思う。
0418nobodyさん
2010/12/02(木) 16:53:09ID:???携帯サイト用画像リサイズスクリプトImageresize4keitai
http://www.web2-labo.com/_imageresize4keitai090421.html
というものがあります。
画像のサイズを指定した小さいサイズでリサイズしてくれるとのことなのですが・・・
前のHPを作った前任者さんが使っていたのですが、使うメリットが分かりません。
<img="" width="70">でも同じではないのでしょうか?
教えていただけると助かります。
0419nobodyさん
2010/12/02(木) 16:58:28ID:???携帯のハードが耐えられるメモリ量ならimg-widthでも構わない。
強いてあげるなら携帯への転送量が減る分だけ表示が速くなるとかそんな感じかな。
0421418
2010/12/02(木) 17:17:51ID:???フォトショップなどで画像を最初から小さいサイズにしておけば、Imageresize4keitai のメリットはなくなりますか?
0422nobodyさん
2010/12/02(木) 17:20:30ID:???0423nobodyさん
2010/12/02(木) 17:29:31ID:???指定しなかったら携帯の横幅に合わせられる
昔ほぼ同じ物作ったわ
これキャッシュディレクトリあるけど、毎回生成し直すんじゃね?
0424nobodyさん
2010/12/02(木) 17:33:26ID:???そうだが思考がデザイナーだな
0426nobodyさん
2010/12/02(木) 20:41:55ID:gvFjnnhT【PHPのバージョン】5.3
【連携ソフトウェア】MySQL Samba
【質問内容】
sample.php
exec($command, $out, $return);
で別ファイル(mail.php)のsendmailを実行してます。
mail($to,$subject,$body);
という簡単なものです。
戻り値によってexec実行後の挙動を変えているのですが、sendmailからgmailのsmtpを使うことになり
pearのmailのモジュールを直接起動するように変更しました。
モジュールを直接起動するだけなので$outに何も残らずexec後の挙動が自動化できなくなりました。
$outに戻り値を返すにはどのようにしたらよいでしょうか?
0427nobodyさん
2010/12/02(木) 23:51:02ID:???0428426
2010/12/03(金) 09:25:48ID:d50vwSIOいまは
require_once("Mail.php");
$param = array(SMTPの設定);
$header = array(toとかsubject設定);
$smtp = Mail::factory( 'smtp', $param );
$smtp->send( $mailto, $header, $body );
という風にして送信してます。
これらにさらにオプションみたいなものがあるんでしょうか。
0429nobodyさん
2010/12/03(金) 10:29:21ID:Q3Oa/UUXSQLiteの型がINTEGERであっても、fetchで返ってくる値の型はstringでした。
MySQLのBOOLEAN型などであっても、fetchは常にString型で返してくるのでしょうか?
よろしくお願いします。
0430nobodyさん
2010/12/03(金) 15:30:10ID:???サーバサイドスクリプト言語「PHP」にサービス拒否(DoS)攻撃を受ける脆弱性が確認されたと「Japan Vulnerability Notes(JVN)」で発表した。
5.3.3 revision 305571以前のバージョンのgetSymbol関数には、整数オーバーフローの脆弱性が存在する。悪用されると、
遠隔の第三者からのDoS攻撃を受ける可能性がある。JVNでは、ベンダーが提供する情報をもとに最新版へアップデートするよう呼びかけている。
0431nobodyさん
2010/12/03(金) 15:34:18ID:???Windowsカーネルに権限昇格バグがあるのだけは知っている
0432nobodyさん
2010/12/03(金) 18:47:43ID:apCQGjmG外部ファイルをrequireやincludeするとき、コンストラクタの中で呼び出すのと
クラス宣言の外(冒頭)で呼び出すのはどう違うんでしょうか?
0433nobodyさん
2010/12/03(金) 18:57:01ID:jI96G3Kcその呼びたいプログラムはファイルに結果を出力する形になっています
/tmp/out.data
を一時出力ファイルにしようとしましたが
同時に副数人がアクセスすると/tmp/out.dataが前の人の結果を上書きしてしまいます
ファイル名をuuidなどで生成させて絶対重ならないようにするのが普通のやりかたなのでしょうか?
何かLinuxのパイプ関係でプロセスごとに一時ファイルを自動で分けるようなやり方はないのでしょうか
0434nobodyさん
2010/12/03(金) 19:17:07ID:???プログラムの流れの順番が違う
冒頭で呼び出すと最初に全ファイルの関数かぶりやら
ファイルの依存関係がチェックされるのに対して
コンストラクタ中で宣言するとインスタンス生成時にチェックされる
そのため関数かぶりやらで止まる可能性は少なからずあるし
ファイルの依存関係もそれまでチェックされない
>>433
tempnamを使ってみてはどう?
ttp://jp2.php.net/manual/ja/function.tempnam.php
0435nobodyさん
2010/12/04(土) 01:18:43ID:???htmlのフォームの属性で携帯のキャリアによっては
name属性かid属性か使い分けなくてはならなかったような気がしたのですが
どうでしたっけ…
0436nobodyさん
2010/12/04(土) 01:19:24ID:IEmBp40c0437nobodyさん
2010/12/04(土) 02:39:53ID:???http://hibari.2ch.net/test/read.cgi/hp/1291304974/
0438nobodyさん
2010/12/04(土) 07:40:58ID:???本人の身元を完全に特定できるようになりたいのですが、
そういう場合、どのようなところに就職すれば良いのでしょうか?
プロバイダーですか?
それとも、警察庁のサイバー犯罪対策なんちゃらとかいうところですか?
それとも、また別の機関?なのでしょうか?
やはり、警察系の組織が一番良いのですかね?
それとも、プロバイダーなんですかね?
個人的には、この2つのどちらかだと思っているのですが、
実際はどうなんでしょうか?
誰か教えてください。お願いします。
0439nobodyさん
2010/12/04(土) 07:49:53ID:???0440nobodyさん
2010/12/04(土) 08:43:24ID:???0441nobodyさん
2010/12/04(土) 08:45:19ID:???0442nobodyさん
2010/12/04(土) 09:28:29ID:???就職先は関係ありません。どこに就職しても無理です。他人のサイトでは無理です。
自分のサイトであれば、住所送ってもらって書面でログインパスワードなどを送るようにすれば
出来ますが、貴方が知りたいのは たとえば私が誰であるかというようなことでしょう?
どこかでは全部分かっているのだと思うのでしたら、ネットをやめるのおすすめです。
また、質問が板違いかと思われます。
0443nobodyさん
2010/12/04(土) 13:13:40ID:???0444nobodyさん
2010/12/04(土) 13:17:04ID:???0445nobodyさん
2010/12/04(土) 13:31:54ID:???0446nobodyさん
2010/12/04(土) 13:44:36ID:???0449438
2010/12/04(土) 15:13:28ID:???私のためにケンカするのはやめて
おちんちんびろーん
0450438
2010/12/04(土) 15:17:23ID:???もうすぐ死にますから許してくださーい♪
0451438
2010/12/04(土) 15:23:40ID:???0452438
2010/12/04(土) 15:24:29ID:???0453nobodyさん
2010/12/04(土) 23:05:39ID:???0455nobodyさん
2010/12/05(日) 01:22:21ID:Nvi5Q3Wb【PHPのバージョン】5.3
【連携ソフトウェア】Oracle
【質問内容】
ファイルダウンロード(大きいサイズ)でタイムアウトしてしまう対策ついて質問させて下さい。
set_time_limit(0);
でサーバー側のタイムアウトを長くする事は出来たのですが。
ブラウザ側のタイムアウトでプログラムの処理が切断されてしまいます。
echo str_pad('',256);
flush();
を使用しブラウザ側に定期的にパケットを送信する方法も試したのですが。
そうするとダウンロード処理のヘッダー
header('Content-Length: ' . filesize($filename));
header('Content-Disposition: attachment; filename='.basename($filename));
の前に空白文字が出力されてしまう為かダウンロードファイルの内容がブラウザに表示されてしまい。
ブラウザのダウンロードダイアログが出ません
ヘッダー前の空白文字を消す方法か
その他にブラウザ側に定期的にパケットを送信する方法ありましたら教えて頂けないでしょうか?
よろしくお願いいたします。
0456nobodyさん
2010/12/05(日) 01:23:59ID:???0457nobodyさん
2010/12/05(日) 01:25:33ID:D3Xz+Jzo真面目に答えると、エシュロンに就職するのが間違いないでしょう。
このスレの住人のようなレベルの低い人達に質問しても無理です。
0460nobodyさん
2010/12/05(日) 01:32:45ID:???単純なzipとかのファイルのダウンロードならダウンロードダイアログが出て
あとはブラウザが勝手にダウンロード終了までコネクトし続けるでしょ?
いまいちどういう状況なのかよくわからない
0461nobodyさん
2010/12/05(日) 01:33:49ID:???動的に大きいサイズのファイルを作るわけね。
で、ダウンロードが始まる前にタイムアウトするわけか。よくあるね。
ファイルの準備が完了するまでプログレスバーを出すか、
準備が完了してからダウンロードボタンを表示させるなど。
0462nobodyさん
2010/12/05(日) 01:38:28ID:???受信待ちになるから、パケットを送りつけたらダウンロードファイルの
一部(先頭)になってしまうよ。
0463nobodyさん
2010/12/05(日) 01:40:10ID:???ajaxで10秒置きにリクエストおくってサーバ側は準備できたらURLと準備OKのフラグを送出して
それができたら準備中って表示してるところをDOMでダウンロードリンクに書き換えするな
0464nobodyさん
2010/12/05(日) 01:41:31ID:???0465455
2010/12/05(日) 01:43:18ID:Nvi5Q3Wb>>461さんが言っている通りです
>>462
ダウンロードボタン常に出た状態で、押してからタイムアウトしない様にしたいのですが。
難しそうでしょうか・・・
0466455
2010/12/05(日) 01:46:18ID:Nvi5Q3Wbajaxは今の画面からして無理そうな気がします。。。
■ このスレッドは過去ログ倉庫に格納されています