【PHP】下らねぇ質問はID出して書き込みやがれ 105
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2011/03/17(木) 04:00:34.11ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 104
http://hibari.2ch.net/test/read.cgi/php/1297669559/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0404nobodyさん
2011/04/05(火) 17:02:19.98ID:???file_get_contentsでファイル転送リストを取得、foreachでそれぞれ
file_get_contentsでファイルを取得していますが、一定サイズ以上になるとうまくいきません。
ファイルすべてをメモリ上にプールすることなく、取得する方法はないでしょうか。
0405404
2011/04/05(火) 17:02:46.43ID:WgbWuRE+0406nobodyさん
2011/04/05(火) 17:07:32.98ID:???0408404
2011/04/05(火) 17:14:06.76ID:WgbWuRE+WANでしか接続できないサーバーなので、
allow_url_fopenオプションを入れて、fopenで取得しローカルのファイルにfputする、っていう
ことでしょうか。メモリ上にプールされる気がします
memory_limit < file_sizeにすれば正常に取得されます
0409nobodyさん
2011/04/05(火) 17:17:22.74ID:???fread ですこしずつ読み込んでファイルに保存していけばいい
$handle = fopen("http://www.example.com/", "rb");
$contents = '';
while (!feof($handle)) {
$contents .= fread($handle, 8192);
$contents をファイルに書き出し
}
fclose($handle);
0410nobodyさん
2011/04/05(火) 17:18:00.67ID:???○ $contents = fread($handle, 8192);
0411nobodyさん
2011/04/05(火) 17:19:32.00ID:???0412404
2011/04/05(火) 17:33:17.39ID:WgbWuRE+ありがとうございます。
保存先をファイルポインタ終わりにおいて開き、whileの中でfputしていくようにすると
保存先ファイルのファイルサイズが順調に増え、memory_limit=256Mとしたときでも
980MBytesのファイルを保存できたことを確認しました。
リモートでも逐次読み込み、保存できたとは...ありがとうございました。
0413nobodyさん
2011/04/05(火) 17:53:14.48ID:RXGsg7Xbファイルサイズが500MB超えると急激に書き込み速度が落ちるのは何故なんですか?
500MB - 1byteまではベンチ取ったけど速度は一定です
PHPで規制されてるのですか?何故ですか?
0414nobodyさん
2011/04/05(火) 18:09:39.27ID:???memory_limitはどうなってる?
場合によってはOSレベルでメモリスワップが発生しているのかも知れない。
0415nobodyさん
2011/04/06(水) 01:21:13.22ID:tGjaXiheサイトに使いたいCGIを見つけたのですがライブラリが必要だと書いてあったので…
htmlとcssの知識なら少しはあるのですが、PHPは殆どわかりません。
0417nobodyさん
2011/04/06(水) 03:03:27.99ID:???調べてわからなかったから質問しているのですが…
答える気が無いなら黙っててくれませんか?
正直そういう出し惜しみってかなりウザいんで。
0418nobodyさん
2011/04/06(水) 03:24:23.49ID:???本人の能力の問題であって、知る術の問題ではない。
単に能力がないだけ。
素質がない。
いいか、みんな
(゜д゜ )
(| y |)
才能がある奴が努力すると
才能 ( ゜д゜) 努力
\/| y |\/
二つ合わさって天才となる
( ゜д゜) 天才
(\/\/
そして、いいか、みんな
(゜д゜ )
(| y |)
無能な奴が努力すると
無能 ( ゜д゜) 努力
\/| y |\/
二つ合わさって無力となる
( ゜д゜) 無力
(\/\/
0419nobodyさん
2011/04/06(水) 03:29:13.38ID:???0420nobodyさん
2011/04/06(水) 03:32:54.85ID:???0421nobodyさん
2011/04/06(水) 03:40:35.14ID:Zyk6jd4Etwitter APIを利用した投稿後のレスポンスxmlに関してです
$response = $consumer->sendRequest('http://api.twitter.com/1/statuses/update.xml', array('status' => $tweet), 'POST');
($consumerはHTTP_OAuth_Consumerのインスタンス)
@ echo mb_convert_encoding($response->getBody(), 'EUC-JP', 'UTF-8');
$xml = new SimpleXMLElement($response->getBody());
A echo mb_convert_encoding($xml, 'EUC-JP', 'UTF-8');
B echo mb_convert_encoding($xml->status->text, 'EUC-JP', 'UTF-8');
@は表示されるのですが、AやBが表示されなくて困っています
0422421
2011/04/06(水) 03:46:57.73ID:Zyk6jd4E0424nobodyさん
2011/04/06(水) 03:55:17.15ID:???「表示されない」の意味が不明
0425421
2011/04/06(水) 04:06:01.54ID:Zyk6jd4E0426nobodyさん
2011/04/06(水) 04:21:10.08ID:???print_rで確認してみな。
0427nobodyさん
2011/04/06(水) 04:41:31.23ID:???@がechoで表示されるってことは$response->getBody()の戻り値は文字列ってことで
それを次の行でSimpleXMLElementオブジェクトにしているので、
AとBはSimpleXMLElementオブジェクトになっているため、パースしないと文字列として出力することはできない
ところで、$response->getBody()の結果は何が表示されてるの?文字列?XML?
それがXMLならば、Aの前の行に以下を入れれば、Bが表示できる可能性がある。
$xml = simplexml_load_string($xml);
0428nobodyさん
2011/04/06(水) 04:42:55.70ID:???抽出はできているのかな? どうやって抽出できているかを確認しているのかな?
0429426, 427
2011/04/06(水) 04:48:35.53ID:???それならそのXMLをパースすればいいんだよ。パースっていうのは解析って意味ね。
たぶん、new SimpleXMLElement()を使うのはまだ難しいと思うから、
simplexml_load_string();とかsimplexml_load_file();を使ったほうがいいと思う。
ググって使い方を覚えとくといいよ。これは万能で覚えとけば何でもできるようになるから。
0430421
2011/04/06(水) 04:49:16.84ID:Zyk6jd4E>>426の方のprint_rの出力結果を参考に、
echo mb_convert_encoding($xml->text, 'EUC-JP', 'UTF-8');
に変えたらとりあえず表示されるようにはなりました。出力結果を見たらなぜか親要素のstatusがなくなってました
0432nobodyさん
2011/04/06(水) 05:11:10.78ID:???作る人向けのスレだし門前払い食らうのは当たり前よ
0433421
2011/04/06(水) 05:25:03.63ID:Zyk6jd4Eまさにそのとおりです。ありがとうございます。自分では
echo mb_convert_encoding($xml->status->text, 'EUC-JP', 'UTF-8');
でパースしているつもりだったのですが、違ったようでした
このページ ttp://phpspot.net/php/man/php/function.simplexml-load-string.html の例1を例とすると
整形式XML文字列をオブジェクト化しても親要素documentは存在し、$xml->document->titleとなると勘違いしていました
精進します
0434nobodyさん
2011/04/06(水) 09:28:13.87ID:???おまいら質問者に冷たすぎだろ
別に既存のスクリプトについて質問してるわけじゃなくPEARとは何かっていう一般的な質問に過ぎないんだから
せめてこれくらいは
>>3読め
■PEARマニュアル http://pear.php.net/manual/ja/
0435nobodyさん
2011/04/06(水) 09:36:06.40ID:jXnilcjzPEARのライブラリって何ですか?→ http://tinyurl.com/3rbty5m
どうやったら使えますか?→ http://tinyurl.com/3d2nnld
0436nobodyさん
2011/04/06(水) 11:40:02.77ID:???ググれとか言うんだろうな。ググってわかったら質問してないわ
0437nobodyさん
2011/04/06(水) 11:51:22.59ID:???普通の人ならググればわかることだから
0438nobodyさん
2011/04/06(水) 12:02:00.05ID:???0440nobodyさん
2011/04/06(水) 12:26:43.68ID:???ちょろっと覗いただけで「なんで質問スレの奴らって云々」とか言ってまとめられるとか心外すぎ
0441nobodyさん
2011/04/06(水) 12:42:35.31ID:???0442nobodyさん
2011/04/06(水) 12:55:52.13ID:???>>1や>>3を読んでから質問しろというルールも無い
てか>>1とか読まないからルールなんて知らない
0443nobodyさん
2011/04/06(水) 12:56:49.43ID:???0445nobodyさん
2011/04/06(水) 13:52:30.20ID:???http://www.redout.net/data/osietekun.html
0446nobodyさん
2011/04/06(水) 13:57:34.44ID:???0447nobodyさん
2011/04/06(水) 14:17:57.46ID:???ここまでひどいバカ滅多にいないぞ
0448nobodyさん
2011/04/06(水) 14:35:32.90ID:???ついさっき家の前でムホォォォ ウホォォォとか叫びながら歩いてる基地外いたし、ほんとコワイわ
0449nobodyさん
2011/04/06(水) 14:40:13.03ID:???0450nobodyさん
2011/04/06(水) 16:12:08.20ID:???echoってどうやって使うか教えてください
回答者を>>442に指名します
使い方がさっぱり分からないのでサンプル付きでよろしくおねがいします
0451450
2011/04/06(水) 18:09:56.74ID:???0452nobodyさん
2011/04/06(水) 19:20:05.62ID:CfTvqrTNこちらの関数を使ってページを圧縮してみたところ、
IE8では圧縮されずFxでは圧縮されました。
前者では右クリ→プロパティ、後者では右クリ→ページの情報を表示で確認しました。
ChromeやOpera等他のブラウザも調べたかったのですが、
確認方法がわかりませんでしたが、IE以外は対応してると考えていいでしょうか?
2chのページも同じ感じでブラウザから表示して確認したところ、同様の結果になったので、
IEでは対応してないから無理ということなのかもしれませんが、
IEでもページ圧縮を有効にする方法がありませんでしょうか?
0456nobodyさん
2011/04/06(水) 19:39:37.54ID:???マニュアルのそのページ全部読んで試したかい?
Someone previously mentioned that MSIE doesn't cache gzipped content. This is false. He misread the source of information. In fact, IE will cache gzipped content no matter what. Here is the quote from the mailing list:
The reason the COMPRESSED responses are, in fact,
always getting cached no matter what "Vary:" field name
is present is just as I suspected... it is because MSIE
decides it MUST cache responses that arrive with
"Content-Encoding: gzip" because it MUST have a
disk ( cache ) file to work with in order to do the
decompression.
だそうだ。俺は試してないから知らんが。
0457452
2011/04/06(水) 19:47:54.84ID:CfTvqrTNごめんなさい。
翻訳通しましたが何を言ってるのかわからないです。
具体的なコードがあれば理解できるのですが。
ユーザエージェントには、
HTTP_ACCEPT_ENCODING gzip, deflate
とあるので、何らかの方法でなら可能だとは思うんですけど。
0458nobodyさん
2011/04/06(水) 20:19:22.16ID:???英語とプログラムの勉強が同時にできる。
0459nobodyさん
2011/04/06(水) 20:27:34.85ID:???適当にそれらしき英文貼ってごまかすことはよくある
しかしそれは全く的外れである
0460nobodyさん
2011/04/06(水) 20:57:24.75ID:???だからそのページの下の方ずっと読んだの?
サンプルコードも色々出てるじゃん。
Content-Encoding: gzip あたりがヒントになりそうだろ。
何度も言うけど試したわけじゃないから知らんよ。
0461nobodyさん
2011/04/06(水) 21:16:05.72ID:???0462nobodyさん
2011/04/06(水) 21:16:49.29ID:???0463nobodyさん
2011/04/06(水) 21:55:54.14ID:???LDAPでログイン認証等を行っているのですが、不具合があり困っています。
LDAP_BINDを何回かやっていると、接続できなくなります。
エラーの内容は49のLDAP_INVALID_CREDENTIALSです。
アパッチを終了させ、ネットワークアダプタを再起動させないと接続できなくなっていしまいます。
接続は以下のようになっています。
ブラウザhttp → 80 → ローカルPC(xampp1.7.3 apach) → 389 → AD(win2003)
バインドできない間ですが、以下は動作しますのでネットワークの不具合ではないと思っています。
エクスプローラー → ネットワーク → Activedirectory検索
AD連携が不要になった時点、毎回リクエスト後にunbindも必ず行っています。
どなたか、考えうる情報をお願いします。
0464nobodyさん
2011/04/06(水) 21:58:17.63ID:???0465nobodyさん
2011/04/06(水) 21:59:19.02ID:9SLSQWTQ0468463
2011/04/06(水) 22:03:12.31ID:9SLSQWTQたまにドメインでパスワードなしの人がいますが、
LDAPの際にパスワードなしでもbindが成功していまいます。
環境が匿名bindでsearchできない(取得できない)仕様なので、
入力されたID・パスワードでbind後、自身をsearchして取得できたら認証OK
としていますが、どう思いますか?
0472nobodyさん
2011/04/06(水) 23:17:29.22ID:GwYx6Y2Wじゃあ消えろ(^^)
0474nobodyさん
2011/04/07(木) 01:19:22.15ID:T+wF9gWRこのツールってどういう仕組みですか?
AU携帯でURLにアクセスするだけでPOST送信されます。
他のDoCoMo,Softbank,PCなどでは使えないみたいです。
POST送信するサイトがPC禁、Proxy禁にしてあるところでも
このツールで普通にPOST送信できてしまうので、
ソケットではないと思うのですが・・・
てか、ソケットだったらキャリア指定する必要ないですし。。。
というか自分の掲示板にも投稿できました。
リンクのファイル拡張子はcgiで使用されている言語はperlですけど
どうなってるか想像付く人居ますか?
私はPerlではなくPHPで作成したいです。
それとこれをされると普通に連投とかされてしまうので
対策方法も考え付く方居たらお願いします。
0475nobodyさん
2011/04/07(木) 01:25:07.30ID:???0478nobodyさん
2011/04/07(木) 08:35:09.01ID:???消えろと命令されても従う義務はありませんので消えません。
屁理屈ですか。では、そもそも>>1を読む義務が存在しないので、
>>1に書かれているローカルルールは無効です。
2ch全体のルール(規則)であれば、2chの関係者が作成したものなので責任の所在が明確ですが、
このスレのルールを誰かが作ったとして、どこの誰かもわからんような奴が作ったルールなどに
従う義務はない。
0479nobodyさん
2011/04/07(木) 09:10:36.19ID:???このスレでやる以上従うのは義務です
0480nobodyさん
2011/04/07(木) 09:22:06.06ID:???ある意味、法律とかマニュアルとかが整備されすぎなんじゃないかって思う
ルールにのってないからやっても大丈夫とか、○○のルールには従う必要ないとか、常識で考えることもせず
まわりに合わせることができないだけなのに自分かこいいとか思ってる哀れな子増えすぎだよね
俺たち大人がこういう子をぶん殴ってこなかったのも悪いかも知れんね
0481nobodyさん
2011/04/07(木) 09:37:04.52ID:UvKKIzH2問題なくリファラを収集できているのですが、「http://○○.com/referer.dat」など
外部ドメインへ書き込みをしようとするとエラーになってしまいます。
どのように記述すれば外部サーバー内のdatファイルに書き込みできるでしょうか?
//リファラを書き込むファイルを指定
$refererfile="referer.dat"; ←ここで困っています
//接続者のPC環境を取得
$agent = $_SERVER["HTTP_USER_AGENT"];
//接続者のリファラを取得
$referer = $_SERVER["HTTP_REFERER"];
//時間の取得
$wday=time();
$days=date("YmdHi",$wday);
//追記用でファイルを開く
$fp = @fopen($refererfile,"a+");
//ファイルを一時ロック
flock($fp,LOCK_EX);
//書き込み
fputs($fp, $days."|".$referer."|".$agent."\n");
//ロック終了
flock($fp,LOCK_UN);
fclose($fp);
0482nobodyさん
2011/04/07(木) 09:37:55.66ID:???0484nobodyさん
2011/04/07(木) 10:41:36.61ID:???一、外部サーバ側で書き込み可能なプロトコルを開通する。
http://www.php.net/manual/ja/wrappers.php
一、とりあえずシステムのロガーへ投げてそっちで設定する。
一、外部サーバ側にブログっぽいアプリを設置してそこへPOSTする。
0485nobodyさん
2011/04/07(木) 12:23:27.65ID:???釣りではありません。真剣です。
そういう人もいることを考慮しなければならないということです。
ぶん殴ってもいいですが、傷害罪で訴えますよ。
0486nobodyさん
2011/04/07(木) 12:31:59.43ID:???0487nobodyさん
2011/04/07(木) 12:46:20.23ID:???0488nobodyさん
2011/04/07(木) 12:51:19.28ID:???0489nobodyさん
2011/04/07(木) 13:18:33.48ID:kE4uZ6E8ループの中で
$var[$A][$B][$C]の値の有無を確認して
値があればそれに沿った処理を行い
値がなければそれに沿った処理を行い、
$var[$A][$B][$C]に値を設定しています。
ループはテキストファイルを読み込んで
1行1行の値に対して上記の処理を行います。
テキストファイルの中には
A,B,Cの値の組み合わせが入っているので、
上記のように3次元の配列にしたわけですが、
A,B,Cの文字列の値を結合して
1次元配列でしたほうが階層は深くならないなと
思ったのですが、どちらのほうが実装する上ではスマートなのでしょうか?
1次元配列のほうがパフォーマンスも良いように思えるのですが・・・
0490nobodyさん
2011/04/07(木) 13:44:13.84ID:???俺ならABCを結合したキーにして1次元配列にする
0491nobodyさん
2011/04/07(木) 13:49:11.55ID:???パフォーマンスが悪いところあれば直してあげるから
0492nobodyさん
2011/04/07(木) 14:06:34.30ID:???値があれば、がどのレベルなのかによるんじゃないかな。
3次元すべてに対してissetしてるならもしかすると遅いかも。
パフォーマンスについて気にするのは、そこが遅いとわかった時だけでいいよ。
>>490
デリミタは何にするの?
0493nobodyさん
2011/04/07(木) 14:27:27.72ID:???桁数が決まってたらデリミタなんかいらないし、桁数決まってない数値だってなら数字以外ならなんでもいいべさ
0494489
2011/04/07(木) 14:32:07.67ID:kE4uZ6E8その後1次元配列で試してみたんですが、半分近く処理時間が短縮できました。
元々の3次元配列を使った場合のロジックにも問題があったので、
それも影響しているとは思うのですが。
ですので、1次元の配列でやってみたいと思います。
デリミタは私は「_」で行こうと思います。
これはA,B,Cに含まれない値になるので。
どうもありがとうございました。
0495nobodyさん
2011/04/07(木) 15:44:21.26ID:???条件として、登録しているテキスト内に「//img1」の文字があれば画像に変換するんです。
1.$wk_text = htmlspecialchars($row['Text']);
2.$pat = '(//img1)';
3.$rep = '<IMG SRC=./image/1-1.jpg WIDTH="120" HEIGHT="80"/>';
4.$wk_text = ereg_replace($pat, $rep, $wk_text);
これで表示は出来るんですが、3.の部分を固定したくないです。
画像だけ変数ってできます?
0496nobodyさん
2011/04/07(木) 16:04:04.46ID:???0498nobodyさん
2011/04/07(木) 18:24:49.43ID:???私怨かなんか知らんがすいとんされてたぞ
http://hato.2ch.net/test/read.cgi/sato/1300975748/279
0499nobodyさん
2011/04/07(木) 18:26:09.72ID:HyNj3QLj因みに、>>496おれじゃないよーww
MySqlに登録した画像を表示する為にはどうすればいいですか?
条件として、登録しているテキスト内に「//img1」の文字があれば画像に変換するんです。
1.$wk_text = htmlspecialchars($row['Text']);
2.$pat = '(//img1)';
3.$rep = '<IMG SRC=./image/1-1.jpg WIDTH="120" HEIGHT="80"/>';
4.$wk_text = ereg_replace($pat, $rep, $wk_text);
これで表示は出来るんですが、3.の部分を固定したくないです。
画像だけ変数ってできます?
0500nobodyさん
2011/04/07(木) 18:59:22.14ID:???> 画像だけ変数ってできます?
の意味がいまいちわからん。もう少し詳しく
0501nobodyさん
2011/04/07(木) 19:01:17.33ID:???0502nobodyさん
2011/04/07(木) 19:27:40.90ID:???だけど変換ルールが分からんな。
どこまでが固定なのかもわからんし、数字で対応させるのかも
分からない。
あと、eregは非推奨になったから、特に問題がなければpregで。
0503499
2011/04/07(木) 19:38:40.70ID:HyNj3QLj返信ありがとうございます。
$row['Text']内に、//img1-->画像1と言う文字列が入っています。
db側に 1-1.jpg を登録済み。
3.$rep = '<IMG SRC=./image/xxxx WIDTH="120" HEIGHT="80"/>';
ここのxxxx部分にdb側から1-1.jpgを持ってきたい。
xxxxの部分は可変で出来ないでしょうか?と言う内容です。
0504。 ◆oDupeixhZv52
2011/04/07(木) 19:39:01.70ID:???実際に使ってる変数にするとか、htmlspecialchars とか ENT_QUOTES とか ""で囲むとかは適宜やってほしい。
■ このスレッドは過去ログ倉庫に格納されています