トップページ⇒php
1001コメント296KB

【PHP】下らねぇ質問はID出して書き込みやがれ 106

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2011/04/29(金) 17:11:00.40ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 105
http://hibari.2ch.net/test/read.cgi/php/1300302034/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0554nobodyさん2011/05/22(日) 23:41:17.79ID:???
rm -f go-pear.php
これでいいだろ?残しておく必要あるの?
もしくは別のところに移しておけ
0555nobodyさん2011/05/23(月) 00:14:10.75ID:???
>>551
そう思うならそうすりゃいいじゃねぇか
人に聞くなよ
0556nobodyさん2011/05/23(月) 00:19:11.18ID:ysMCJkiI
各値に文字列を入れて、

mb_language('japanese');
mb_internal_encoding('UTF-8');
$header = "From: ".$from;
$sendmail_param = "-f".$from;
mb_send_mail($to, $subject, $body, $header, $sendmail_param);
とやって実行すると、ちゃんとtoにいれたアドレスに、件名、本文がはいったメールが送信されるんですが、なぜか二個送られます
どういうことが考えられますでしょうか
二度処理するように書いてないのでわからなくて困ってます
ご教授お願い致します
0557nobodyさん2011/05/23(月) 00:20:53.73ID:???
シラネ
0558nobodyさん2011/05/23(月) 00:23:10.56ID:???
>>556みたいに「ご教授お願い致します」って書く奴多いな
→「ご教示お願い致します」
0559nobodyさん2011/05/23(月) 00:27:28.01ID:ysMCJkiI
556です
ご教示いただければ幸いです
宜しくお願い致します
0560nobodyさん2011/05/23(月) 00:29:23.07ID:???
>>556
リダイレクトでもしてるんじゃないの?
0561nobodyさん2011/05/23(月) 00:29:35.29ID:???
>>556
そこ以外が問題でしょ
0562nobodyさん2011/05/23(月) 00:44:20.89ID:ysMCJkiI
>>561
これが全文です
受け取り側の設定かと思い違う宛先にもしましたがやはり二通行きます

<?php
$subject = "サブジェクト";
$body = "本文";
$to = "[email protected]";
$from = "[email protected]";
mb_language('japanese');
mb_internal_encoding('UTF-8');
$header = "From: ".$from;
$sendmail_param = "-f".$from;
mb_send_mail($to, $subject, $body, $header, $sendmail_param);
?>
0563nobodyさん2011/05/23(月) 00:51:00.08ID:???
>>562
じゃメールサーバの設定じゃないの
0564nobodyさん2011/05/23(月) 00:52:37.81ID:???
>>555
うん、お前にきいた俺ば馬鹿だった
0565nobodyさん2011/05/23(月) 01:04:05.91ID:???
>>562
sendmailのオプションを外してみる
mail関数を使ってみる
php.iniを変更してSMTPで送信してみる
ウィルスバスターのURLフィルターとか、余計なソフトが事前にURLへアクセスしてないか調べてみる
0566nobodyさん2011/05/23(月) 01:05:05.06ID:???
>>564
うん、お前は馬鹿だった。いや、今も馬鹿だ。世界一の馬鹿だ。
0567nobodyさん2011/05/23(月) 01:08:00.34ID:???
>>562
少なくともそのソースで2通送信されるわけないから
そのソース以外に原因がることは明らかだろ
0568nobodyさん2011/05/23(月) 01:10:06.91ID:ysMCJkiI
>>565
事前にアクセス、とあったのでブラウザをGoogle Chromeからfirefoxに変更したら二重送信にならなくていけました
クロムがそんな動作するとは・・・

ありがとうございました
0569nobodyさん2011/05/23(月) 01:26:34.26ID:???
他の回答者は無視か。市ね!
0570nobodyさん2011/05/23(月) 01:29:43.47ID:???
>>569
お前どの回答したんだ?
俺が代わりにお礼言ってやるから気を静めろよ
0571nobodyさん2011/05/23(月) 01:47:31.42ID:???
かわいいな>>569
俺もお礼言ってやるよ
0572nobodyさん2011/05/23(月) 01:48:38.08ID:???
せっかく答えてやったのに。もう答えてやらん!
0573nobodyさん2011/05/23(月) 02:12:16.33ID:???
>>558
>>560
>>563
>>567
のどれだ?
どれもたいそうな回答で敬服したわw
0574nobodyさん2011/05/23(月) 02:42:27.81ID:???
>>568
DevToolひらいてない?
0575nobodyさん2011/05/23(月) 03:26:20.62ID:ysMCJkiI
>>574
VALIDATORみたいなの入れてました
レンダリングと走査で二回読んでるってことですね
理解できました
ありがとうございます
0576nobodyさん2011/05/23(月) 03:36:36.05ID:???
>>558
くだらない指摘ありがとうございます。どちらでもいいはずなんですけど、
>>558さんがイライラしなくてすむように「教えてください」がベストですよね。
0577nobodyさん2011/05/23(月) 07:35:09.98ID:???
>>576
お前誰だよw
>>556になりすましてるつもりか知らんが当人は>>559で訂正してるからバレバレw
0578nobodyさん2011/05/23(月) 11:15:25.44ID:???
未だにmb_send_mail使う男の人って・・・
0579nobodyさん2011/05/23(月) 11:52:46.60ID:???
mb_send_mailって女性向けなんですか
0580nobodyさん2011/05/23(月) 11:59:12.06ID:???
>>577
なりすましw
ネタレスに食いつくとか…え、もしかして?
0581nobodyさん2011/05/23(月) 12:05:52.72ID:???
>>580
なりすましって言う奴がなりすまし
というのが2chのルール
0582nobodyさん2011/05/23(月) 12:31:37.63ID:???
>>579
mb_send_male
が男性向け。
mb_send_f
0583nobodyさん2011/05/23(月) 12:57:40.94ID:???
mb_send_shemale関数で送って欲しい
0584nobodyさん2011/05/23(月) 17:23:05.29ID:???
shemale?
0585nobodyさん2011/05/23(月) 17:24:06.67ID:???
ladyboy
0586nobodyさん2011/05/23(月) 17:25:50.59ID:???
ladyborden
0587nobodyさん2011/05/23(月) 20:05:22.14ID:???
ボーゲン パラレル ウェーデルン
0588nobodyさん2011/05/23(月) 23:02:06.42ID:d2ZK5Ldr
cronを使う代わりに、imgタグをPHPで作ってそこで実行させるやり方があります。
しかし、処理に時間がかかる場合は、ブラウザがずっと読み込み状態になります。

これは、バックエンドで実行できないので仕方ないのでしょうか?
execを使ってバックエンドで実行する方法もあるようですが・・・
0589nobodyさん2011/05/23(月) 23:09:57.79ID:???
それでなんでだめなの?
0590nobodyさん2011/05/23(月) 23:22:17.87ID:???
>>588
JavaScriptのXMLHttpRequestでPHPを非同期実行すれば?
0591nobodyさん2011/05/23(月) 23:28:31.02ID:d2ZK5Ldr
>>589
開発はWindowsでやってまして・・・

>>590
Ajax使うとかですか?ちょっと試してみます
0592nobodyさん2011/05/23(月) 23:35:13.22ID:???
windowsとか関係ないだろ
セーフモードっていう制限あるなら別だが・・・
0593nobodyさん2011/05/23(月) 23:40:01.66ID:???
windowsとか関係ないだろ
0594nobodyさん2011/05/23(月) 23:42:26.78ID:d2ZK5Ldr
>>590
jQueryのAjaxでやってみたのですが、10秒sleepかけたら
結果が表示されるまで10秒待たされますね・・・
0595nobodyさん2011/05/23(月) 23:44:39.80ID:d2ZK5Ldr
>>592-593
予約フォームでも作って配布しようと思ってるのですが、
execってサーバの仕様によりますよね?Windowsは関係ないにしても。
ですので、難しいかな?と思っております。
0596nobodyさん2011/05/24(火) 00:08:51.31ID:???
windows鯖ならタスク使えばいいだろ
0597nobodyさん2011/05/24(火) 00:27:36.68ID:???
>>594
それはJavaScript側のイベントタイミングが悪いだけでは
0598nobodyさん2011/05/24(火) 01:47:53.52ID:???
>>595
curl_multi_*系使えば?ソース切り分けるのが大変なら
あとは頑張れとしか言いようがないが・・・
0599nobodyさん2011/05/24(火) 03:25:16.83ID:jZjKrKf9
【OS名】Apache
【PHPのバージョン】5.2.5
【連携ソフトウェア】なし
【質問内容】
mb_convert_encodingでShift_JISの文章をUTF-8にすると
�Uが?に、〜が?に変わる等、もとの文字から変化してしまうんですが
これを防ぐ方法はありますかね?
SJIS→EUCだと無問題でしたが、UTF-8で組み上げてしまったので今更此処だけのために変えたくないのです。

元データはShift_JISから変更できないものとして下さい。
対策法ありましたら教えていただきたく思います。
06005992011/05/24(火) 03:26:18.70ID:jZjKrKf9
訂正。
�Uが?に、〜が?に
06015992011/05/24(火) 03:27:21.80ID:jZjKrKf9
どうも表示出来ないようですので…
〜が「wikipediaで〜の代わりに利用されている記号」でお願いします。
0602nobodyさん2011/05/24(火) 04:22:29.42ID:???
>>601
mb_convert_encoding(mb_convert_encoding($str,"sjis-win","SJIS"),"UTF-8","sjis-win");
0603nobodyさん2011/05/24(火) 04:28:16.89ID:???
あー。
「〜」ってめんどくさいよ。波ダッシュ問題とかその辺で調べるとでてくると思う
0604nobodyさん2011/05/24(火) 04:30:56.85ID:???
>>601
間違えた。これでOK
$str = mb_convert_encoding($str,"UTF-8","sjis-win");
0605nobodyさん2011/05/24(火) 04:35:08.00ID:???
ちなみに「〜」の反対の波ダッシュはshiftJISには存在しないはずだよ
0606nobodyさん2011/05/24(火) 10:35:42.44ID:B17q1BJi
相対パスからURLを得るような関数ってありますか?

http://localhost/hoge/hage/index.php
にアクセスして
echo some_function("../");
とすると
http://localhost/hoge/が返ってくるような関数を希望しています
realpathはちょっと違うみたいなので
0607nobodyさん2011/05/24(火) 11:33:03.76ID:???
>>606
少しはググったら?「url取得 php 相対」
0608nobodyさん2011/05/24(火) 11:47:09.98ID:B17q1BJi
もちろんググりましたよ
ただ標準関数があるかないかだけ知りたかったので

ググった先の人は自作関数つくってましたが
ドキュメント不足であまり知られてない関数も多数あるので
知ってる人いないかな?と思って聞きました
0609nobodyさん2011/05/24(火) 11:53:06.86ID:???
ドキュメント不足wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
0610nobodyさん2011/05/24(火) 12:00:28.73ID:B17q1BJi
実例だすと
http://www.php.net/manual/ja/reflector.export.php
こんなのとか
>この関数は、 現在のところ詳細な情報はありません。引数のリストのみが 記述されています。
とサマリーが書かれてないやつですね
0611nobodyさん2011/05/24(火) 12:17:49.41ID:???
>ただ標準関数があるかないかだけ知りたかったので
そのような内部(ビルトイン)関数は無い
06126082011/05/24(火) 12:23:32.00ID:B17q1BJi
>>611
ありがとうございます
おとなしくPHPで実装しますか
0613nobodyさん2011/05/24(火) 12:26:44.38ID:???
それか諦める
0614nobodyさん2011/05/24(火) 12:27:00.31ID:???
どうせNet_URLあたりで一瞬でしょ
0615nobodyさん2011/05/24(火) 12:39:17.62ID:???
一方ロシアはdirnameを2回呼んだ
0616nobodyさん2011/05/24(火) 13:03:46.05ID:???
dirname関係ないでござる
0617nobodyさん2011/05/24(火) 13:22:12.72ID:4tHNdJ+f
ニコ生からコメントを取得したいのですがうまくとれません
どなたかご教示お願いします

$svr = "msg103.live.nicovideo.jp";
$port = "4桁の数字";
$thread = "数字";

$fp = @fsockopen ($svr, $port, $errno, $errstr);

if (!$fp) {
echo "Error:{$errno}, {$errstr}\n";
return false;
}

fputs($fp, "<thread thread=\"{$thread}\" res_from=\"-200\" version=\"20061206\" \/>\0");

while(true){
while(!$char = fgetc($fp)){
echo $char;
}
sleep(2);
}
socket_close($fp);
06185992011/05/24(火) 13:40:24.73ID:jZjKrKf9
>>602-604
ありがとうございます。
SJISと思い込んでおりましたがSJIS-winだったようですorz
PHP以前の問題に回答していただき有難う御座いました。
0619nobodyさん2011/05/24(火) 16:53:51.35ID:???
GZIPの展開処理でdataスキームを使うとエラーが出る環境があります。
エラーが出た場合、tempファイルを一旦作ってから処理しているのですが、
dataスキームが使える環境と使えない環境の違いがわかりません。
どなたかご教示ください。

// エラーが出ることがある部分
$zp = @gzopen('data:application/x-gzip;base64,'.base64_encode($gzbody), 'rb');
//$zp = @fopen('compress.zlib://data:application/x-gzip;base64,'.base64_encode($gzbody), 'rb'); // これも同じ
0620nobodyさん2011/05/24(火) 16:54:31.46ID:b9bCoq0a
ID忘れてました
06216192011/05/24(火) 16:56:39.02ID:???
【確認した環境】
× CentOS PHP5.1.6
○ WindowsXP PHP5.3.5
0622。 ◆oDupeixhZv52 2011/05/24(火) 17:17:17.73ID:???
http://www.php.net/manual/ja/zlib.installation.php
06236192011/05/24(火) 17:52:20.30ID:???
ありがとうございます。
php -i | grep configure | sed -e 's/ /\n/g' | grep zlib
で --with-zlib は確認できます。
0624nobodyさん2011/05/24(火) 20:24:43.45ID:???
dataは5.2からです
0625nobodyさん2011/05/24(火) 20:35:47.52ID:???
http://www.php.net/manual/ja/wrappers.data.php
はっておきますね
06266172011/05/24(火) 20:37:24.93ID:???
どなたかお願いします
0627nobodyさん2011/05/24(火) 20:45:47.29ID:???
うまくとれませんじゃ解りません
もうちょっと原因の切り分けをすべきです
ぱっと見で言えば、無限ループじゃね?という感じか
Cとかみたいに随時出力とかはそれでは出来ないけど
0628nobodyさん2011/05/24(火) 20:57:25.74ID:???
>>626
ニコ生の規約に違反するので教えられません
0629nobodyさん2011/05/24(火) 21:05:09.24ID:???
バカばっかだなwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
0630nobodyさん2011/05/24(火) 21:30:25.46ID:???
お前モナwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
0631nobodyさん2011/05/24(火) 21:37:23.37ID:???
さすがに>>627はコードを読んでないし>>628はapiも知らない無知
こいつらのせいでPHPスレの回答者はなめられていい迷惑だ
0632nobodyさん2011/05/24(火) 22:40:26.12ID:???
>>631
お前一人のせいで全員が迷惑していることを少しは自覚しろ
0633nobodyさん2011/05/25(水) 00:11:39.33ID:???
>>631
さすがの俺でもコードを読んだら無限ループだったわ
06346192011/05/25(水) 00:15:43.20ID:???
>>624-625
ありがとうございました。
0635nobodyさん2011/05/25(水) 09:42:45.17ID:???
コメントを取得するのに失敗しているのは無限ループの所は関係ないと思うけどな
バカの一つ覚えみたいに無限ループがなんて騒いでるのも己のスキルがバレるよ
0636nobodyさん2011/05/25(水) 11:11:00.56ID:5sX1Dxk4
$query="insert into myblog(title,abstract,context,uptime)";
$query .="values(\"" .$url. "\",\"".$data."\",\"".$data."\",CURDATE())";
こんな感じでinsertしてるのですがうまくいきません
すいませんがどなたがご教示下さい
0637nobodyさん2011/05/25(水) 11:24:48.51ID:???
>>636
釣りじゃないならエラーメッセージとテンプレ
エスパーすると $data = mysql_escape_string($data); を実行
0638nobodyさん2011/05/25(水) 11:25:03.75ID:jb860Ok3
memory_limitの値を取得する方法ってないですか?

php.iniでの設定が「512M」になっていると、
ini_get('memory_limit')とすると「512M」と文字列のまま返ってきます。

数値で返ってくるような関数は実装されておりますでしょうか。
(なければ、512Mの文字列を数値に変換する処理が挟むので・・・)

やりたいこととしましては、
大量のデータを取り込む
 ↓
メモリ使用率判定で、80%ほど使われていれば途中でエラーと行番号を出す

memory_get_usage()と比較して判定

宜しくお願いします
0639nobodyさん2011/05/25(水) 11:29:07.96ID:???
>>638
たぶんない
というか、$limit = (int)ini_get('memory_limit'); だけで済むでしょ
0640nobodyさん2011/05/25(水) 11:35:57.00ID:jb860Ok3
>>639
> というか、$limit = (int)ini_get('memory_limit'); だけで済むでしょ

いやそれはないだろwwwwwww
0641nobodyさん2011/05/25(水) 11:38:11.36ID:???
※ここはレベルの低い回答者も顔がデカイので粘着に注意しましょう
 彼らは顔真っ赤になると自分を肯定するために荒らすので注意しましょう
0642nobodyさん2011/05/25(水) 11:42:08.10ID:???
>>641
ね。おちおち質問も出来ん。
0643nobodyさん2011/05/25(水) 11:46:37.53ID:???
>>641-642
>>641-642
>>641-642
0644nobodyさん2011/05/25(水) 12:06:35.76ID:???
>>638
RTFM
http://www.php.net/manual/ja/function.ini-get.php
0645nobodyさん2011/05/25(水) 12:07:34.43ID:???
>>635
>>617のソースのみから考えられるのって無限ループと
fputsしてる部分で \/の\が不要って部分ぐらいだろ。
そしてどの段階でコメントが取得できていないと書いてないから不明
PHPを表示させて取得できないっていうなら無限ループだし
ループ無しの状態でfgetcしてもとれないのかも不明
質問者が手を抜きすぎなんだよ
0646nobodyさん2011/05/25(水) 12:17:41.43ID:???
\0も不要だな・・・。なぜnull文字を・・・。PHPとCは違うぞ。
0647nobodyさん2011/05/25(水) 12:20:57.54ID:???
と思ったら\0はAPIの仕様か・・・。
0648nobodyさん2011/05/25(水) 12:25:22.44ID:???
分かんない奴は黙っててくれよ。。。。スレが汚れるだけだから
0649nobodyさん2011/05/25(水) 12:30:34.02ID:???
分かんない奴はというならお前が答えてやれよw
0650nobodyさん2011/05/25(水) 12:34:40.94ID:JzX2/aKg
$str = "<text></text>";
preg_match("/<text>(.+?)<\/text>/", $str, $m);
print_r($m);

結果はこうなりますが
Array
(
[0] => <text>abc</text>
[1] => abc
)
これをキャプチャするabcだけ取得した形にする方法はありませんか?
0651nobodyさん2011/05/25(水) 12:51:11.80ID:5sX1Dxk4
$query = "insert into myblog (title,abstract,context,uptime)";
$query .= " values (\"" . $url . "\",\"" . $url . "\",\"" . $url . "\",CURDATE())";

こんな形で解決しました
有難う御座いました
0652nobodyさん2011/05/25(水) 12:52:28.00ID:???
>>650
array_shift($m);
0653nobodyさん2011/05/25(水) 12:54:20.44ID:???
$m[1]
0654nobodyさん2011/05/25(水) 13:54:43.50ID:???
この質問定期的にくるね
■ このスレッドは過去ログ倉庫に格納されています