【PHP】下らねぇ質問はID出して書き込みやがれ 100
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2010/10/27(水) 17:41:33ID:2BwSQxVQ過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 99
http://hibari.2ch.net/test/read.cgi/php/1286938893/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0764nobodyさん
2010/11/07(日) 19:18:32ID:???【PHP】下らねぇ質問はID出さずに書き込みやがれ 1
http://hibari.2ch.net/test/read.cgi/php/1289117484/
0765nobodyさん
2010/11/07(日) 19:23:33ID:???0767nobodyさん
2010/11/07(日) 19:27:16ID:???0768nobodyさん
2010/11/07(日) 19:28:34ID:???http://hibari.2ch.net/test/read.cgi/php/1289117484/42
0769nobodyさん
2010/11/07(日) 19:30:12ID:???0771nobodyさん
2010/11/07(日) 19:32:20ID:???0772nobodyさん
2010/11/07(日) 19:32:49ID:???そろそろ通報したほうがいいか
0773763
2010/11/07(日) 19:41:35ID:quMPljDo何がしたいのか分かりませんが別の人です。
0774nobodyさん
2010/11/07(日) 19:42:43ID:???俺のレスもコピペされてたからな
0775nobodyさん
2010/11/08(月) 01:10:58ID:???0776nobodyさん
2010/11/08(月) 01:15:17ID:???【PHP】下らねぇ質問はID出して書き込みやがれ 28
これね
0777nobodyさん
2010/11/08(月) 01:15:22ID:BUxEOjTwエラーログに出力したいと思っています。
一般的なapacheのerror_logに出力されるPHPのwarning,error報告(あるべき引数がないとか)ではなくて
たとえばトークンがない時などに不正アクセスとして「強制ログアウト+エラーページ転送」して
「何年何時何分にトークンエラー、リファラは****」などを書き込みたいわけです。
そういうことはできるんでしょうか?
どうやったら良いですか?
また、エラーログもapacheのエラーログに限らず任意のログファイルを指定したいです…
よろしくお願いします
0778nobodyさん
2010/11/08(月) 01:17:33ID:???独自で出力するかなんらかのFWとかライブラリで出力といいよ
独自でやりたいならerror_logっていうのが便利
http://jp2.php.net/manual/ja/function.error-log.php
ファイルとかメールとかそういうのにも送れる
0779nobodyさん
2010/11/08(月) 01:26:19ID:BUxEOjTwおー、確かに管理者あてにメールで報告する必要ありますね
すっかり忘れてた、ありがとうございます
0780nobodyさん
2010/11/08(月) 06:38:58ID:NCmcYlgEfunction_existsとか使われてますがこれは冗長ですよね?
なんかのプラグインとかで
functionが存在しないとexit(このスクリプト自体を使わない)というならわかるのですが
なんか関数を定義してるのでなんでこんなことしてるのか不思議です
0783nobodyさん
2010/11/08(月) 08:11:45ID:???「【PHP】下らねぇ質問はID出さずに書き込みやがれ 1」を立てたのに
どうして向こうのスレの主旨に反して仮想敵と戦っているのだろう。
0785780
2010/11/08(月) 08:29:19ID:NCmcYlgE関数名をググってみたところ>>781-782さんのおっしゃる通りでした
どうもありがとうございました
0788nobodyさん
2010/11/08(月) 11:23:29ID:iHWn8jqUまずApacheをjail環境にし、次にPHPもしようと思います
ただ、この場合DBとの連携をするためにはMySQLもまたjail環境にしなければいけないのでしょうか?
また、皆さんはLAMP環境においてApache、PHPなどをjail環境にて構築していますか?
0790nobodyさん
2010/11/08(月) 15:12:09ID:???DBもjail環境にしたほうがいいんじゃないの
>また、皆さんはLAMP環境においてApache、PHPなどをjail環境にて構築していますか?
しょせんテスト環境だからそんな力入れないよ
レン鯖屋やるわけじゃないんだし
0793nobodyさん
2010/11/08(月) 22:28:27ID:???会社で運用するなら普通jail環境にはすると思うけどね
ファイアウォールなんかで終わりではないし
基本的に一般の会社ってセキュリティのレベル低い
俺はクラッカーとかじゃないけど、すぐにあぁぁって気付いてしまうし
地方のサイトを作ってる会社とか酷すぎて見てられない
0794nobodyさん
2010/11/08(月) 23:55:06ID:4DWaBd1yキャッシュされたURLから取得するので最新ではなくすでに削除されている可能性があります。
削除されている場合404やトップページ等のHTMLを取得してしまいます。
工程として、URLから拡張子と、file_get_contentsでソースを取得して、
取得した拡張子のファイルを作成し、そのソースを書き込む感じになります。
たまにHTMLを取得してしまうのでフェイクの画像になってしまうことがあります。
ソースには必ずしもhtmlや404という文字列が入ってるわけではなく、
またそれらの文字が画像バイナリにも含まれていないとは限らず判別方法に困っています。
取得したソースが画像バイナリかただのプレーンテキストかを判別する方法はありますでしょうか?
0795nobodyさん
2010/11/09(火) 00:01:33ID:???0796nobodyさん
2010/11/09(火) 00:03:23ID:???0797nobodyさん
2010/11/09(火) 00:06:05ID:???0798nobodyさん
2010/11/09(火) 00:07:48ID:???0799nobodyさん
2010/11/09(火) 00:09:44ID:???10年前は稀にあったが最近じゃみたことねぇ
0800nobodyさん
2010/11/09(火) 00:12:05ID:???0801794
2010/11/09(火) 01:04:45ID:2HKVFAPp訂正でfile_get_contentsを使ってたのは、
ソースからキャッシュされたURLを取得するためでした。
実際の画像はcURLでとってきています。
curl_setoptでCURLOPT_FOLLOW_LOCATIONしています。
>>798さんの発言が少し気になりますが、やっぱ無理そうなんですかね?
PHP6にis_binaryとかいう関数があるようですがこれはどうなんでしょう?
PHP6使える環境ではないですがPHP6なら可能なんですかね。
0802nobodyさん
2010/11/09(火) 01:23:07ID:???getimagesize
http://jp.php.net/manual/ja/function.getimagesize.php
画像なら画像ファイルの大きさを返す、画像でないならfalseを返す。
0803801
2010/11/09(火) 06:18:41ID:2HKVFAPp寝ててレスおくれてすみません。
一度保存するならばこれで簡単にできそうですね。
ファイルに保存してない状態で(変数に入ってる状態で)この関数を使うようなことはできないでしょうか?
イメージ的には、
$a = file_get_contents("hoge.jpg");
print_r(getimagesize($a));
が動いてほしいのですが。
PHPでローカルファイルを指定する必要がある関数で、
代わりにそのファイルのソースを入れることで同様の処理が可能になるような機能はあったりしませんか?
ファイルを指定して内部でやってることを再現できればできるとおもうのですが、
PHPになんかそういうことをできる機能や関数はないでしょうか?
メモリ上に一時的なファイルを作成してそれを読み込むとか・・・
0804nobodyさん
2010/11/09(火) 06:27:15ID:???>ローカルファイルへの参照、あるいは (設定で許可されているなら)
>ストリームを用いたリモートファイルへの参照を指定できます。
0805801
2010/11/09(火) 06:32:05ID:2HKVFAPpその言葉をみてなんとなくそんなことができるのかなぁと思ったのですが、
やっぱその文言はそういうことだったのですか?
ただ申し訳ないですが全然意味がわかりません・・・
出来れば具体的にどうすればいいか教えていただけると嬉しいです。
0806nobodyさん
2010/11/09(火) 06:38:40ID:???おもいっきり例3に書いてあるよ
$size = getimagesize("http://www.example.com/gifs/logo.gif");
// ファイル名にスペースが含まれる場合は適切にエンコードしてください
$size = getimagesize("http://www.example.com/gifs/lo%20go.gif");
例をみたり下の方にあるUser Contributed Notesとかは
出来る限り見たほうが役に立つのに見ない人が多いのは何なのだ
0807801
2010/11/09(火) 06:47:43ID:2HKVFAPpすみません。ようやく理解しました。
cURLでサーバから画像ソースを取得する工程で、その処理を入れて調べればいいわけですね。
2重リクエストにならないか調査後に試してみたいと思います。
一応非効率ですが一度ファイルを出力してしまえば可能なことはわかったのでこれで質問終了します。
どうもありがとうございました。
0809nobodyさん
2010/11/09(火) 07:50:36ID:???だと余計なIOが発生するから
ソース取得→メモリに一時的にファイルとして保存してそれを使ってファイルを指定する関数が使えないか?
ということかと思われ
取得先からソースを取得する時点で取得先ファイルに対してチェックすればいいということで納得したのかと
0810nobodyさん
2010/11/09(火) 16:43:36ID:bQQ5pU57array(
[0]=>'a',
[1]=>'b',
[5]=>'c'
)
という配列を
array(
[0]=>'a',
[1]=>'b',
[2]=>'c'
)
に一発で変換する関数はないでしょうか?
0814nobodyさん
2010/11/09(火) 17:11:51ID:???foreach ($array as $key=>$value){
}
0815nobodyさん
2010/11/09(火) 17:18:13ID:???0816nobodyさん
2010/11/09(火) 17:20:52ID:???できるお
http://jp2.php.net/manual/ja/stream.streamwrapper.example-1.php
この例)で出ているクラスを
VariableStream.inc として保存しパスが通ってる所に保存
無意味な処理だが以下を例にしまつ
----------------------------------------------
//データを取得
$img_data = file_get_contents("hoge.jpg");
require_once("VariableStream.inc");
stream_wrapper_register("var", "VariableStream") or die("Failed to register protocol");
list($width, $height) = getimagesize("var://img_data");
こんな感じのことかな????
今回の要件では使うのは無駄っぽいけど、参考まで
0817nobodyさん
2010/11/09(火) 17:35:40ID:???imagecreatefromstring(file_get_contents($src)) と imagesx imagesy じゃ無駄があるんだろうか。
0819nobodyさん
2010/11/09(火) 22:04:53ID:???見てないかもしれないけど
ファイルを作成せず使う汎用的な方法としてデータスキームに変換する方法がある
$data_scheme = "data:image/jpeg;base64,". base64_encode(バイナリ);
getimagesize($data_scheme);
PHP以外でもデータスキームはIE以外のメジャーなブラウザで利用できるから
知っておくと役に立つかもしれない
0821nobodyさん
2010/11/09(火) 23:33:07ID:???0822nobodyさん
2010/11/10(水) 00:02:48ID:???0824nobodyさん
2010/11/10(水) 10:31:56ID:dwXH9brCif(empty($key)){
echo "空欄です";
exit();
}
とやると
Fatal error: Call to undefined function exit()
ってエラーが出るんですが
undefinedってどういうことっすかね?
die()でも出ます
0825nobodyさん
2010/11/10(水) 10:46:46ID:???exitとdieは正確には関数ではなく言語構造だからそんなエラーは通常出ないはず
0826nobodyさん
2010/11/10(水) 10:51:06ID:dwXH9brC何がどうなってて、どうすればいいんでしょうか?
0827nobodyさん
2010/11/10(水) 10:51:37ID:???とりあえず環境も書いたほうが良いよ
0828nobodyさん
2010/11/10(水) 10:52:09ID:???0829nobodyさん
2010/11/10(水) 10:53:11ID:???0830nobodyさん
2010/11/10(水) 10:54:35ID:dwXH9brC具体的にはさくらインターネットです
0831nobodyさん
2010/11/10(水) 10:57:44ID:???$a=1;
if($a){
echo 1;
exit();
}
echo 2;
↑これコピペして動かしてみ
0832nobodyさん
2010/11/10(水) 10:58:57ID:dwXH9brCお騒がせしました
0833nobodyさん
2010/11/10(水) 11:04:53ID:???全角スペースが目視できる設定にしといたが間違いないべ
0834nobodyさん
2010/11/10(水) 11:10:06ID:dwXH9brC本当にご迷惑おかけしました
一晩悩んでました
すぐ気がつくなんて感謝です
0835nobodyさん
2010/11/10(水) 11:14:43ID:???0836nobodyさん
2010/11/10(水) 11:19:06ID:???0837nobodyさん
2010/11/10(水) 11:43:35ID:???0838nobodyさん
2010/11/10(水) 12:52:03ID:???0839nobodyさん
2010/11/10(水) 12:59:35ID:???0841nobodyさん
2010/11/10(水) 13:01:40ID:???バイト数だって半角スペース1つ分で少なくていいのにな
0842nobodyさん
2010/11/10(水) 13:03:47ID:???どっちも一長一短あるしな
「タブ幅はエディタ設定によって違う」のなら、好きな幅に変えれて便利じゃない?って話にもなるし
0843nobodyさん
2010/11/10(水) 13:04:10ID:???0844nobodyさん
2010/11/10(水) 13:07:34ID:???0845nobodyさん
2010/11/10(水) 13:12:01ID:???0846nobodyさん
2010/11/10(水) 13:16:32ID:???タブインデントとスペースインデントがまざってしまうと
(タブ幅が変わると)インデント崩れる
だからタブは禁止というところもあるよ
0847nobodyさん
2010/11/10(水) 13:39:27ID:???ゴチャ混ぜが最悪なだけでしょ
0848nobodyさん
2010/11/10(水) 14:26:53ID:???0849nobodyさん
2010/11/10(水) 14:29:24ID:???かえって見にくい。
0850nobodyさん
2010/11/10(水) 14:57:17ID:???0851nobodyさん
2010/11/10(水) 15:02:39ID:???0853nobodyさん
2010/11/10(水) 15:07:16ID:???リクエスト数があるサイトだと
結構転送量減らせるからそれは普通
0855nobodyさん
2010/11/10(水) 17:26:26ID:???ソースを可読性のために改行することをしらない人もちょっと前のスレでいたし、
そういう意味で「(改行をしらないのではなくて)わざと改行していない」って言ってるんじゃないかな
たぶん
0856nobodyさん
2010/11/10(水) 17:30:46ID:???あったこれだ
ttp://hibari.2ch.net/test/read.cgi/php/1286938893/55
55 名前:nobodyさん[] 投稿日:2010/10/13(水) 17:28:29 ID:mluMwUel
改行は<br>でするのにわざわざ\nが付いてるコードがあるんですが、
\nは必ず要るんですか?
0857nobodyさん
2010/11/10(水) 17:36:14ID:???可読性をあげるために、インデント・改行は普通はするだろ?
でも特に何も考えず(何も意図せず)改行入れる/入れない人もいるわけだ。
「わざと」というのは、転送量などのことを考慮して、意図的になしにしているという意味で書いた
0858nobodyさん
2010/11/10(水) 17:48:00ID:???0859nobodyさん
2010/11/10(水) 18:45:44ID:Lg2WsF+P"Thu Sep 16 03:16:09 +0000 2010"という文字列の日付書式があるのですが、これをtime()で返すような秒に変換するにはどうしたらよいのでしょうか。
逆ならdate("r")でいいんですが。
0860nobodyさん
2010/11/10(水) 18:53:26ID:???0861nobodyさん
2010/11/10(水) 19:06:15ID:???0862nobodyさん
2010/11/10(水) 20:10:03ID:???0863nobodyさん
2010/11/10(水) 20:11:04ID:???■ このスレッドは過去ログ倉庫に格納されています