【PHP】下らねぇ質問はID出して書き込みやがれ 106
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2011/04/29(金) 17:11:00.40ID:???過去スレ、関連スレ、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等)・フレームワークは各該当スレへ
0578nobodyさん
2011/05/23(月) 11:15:25.44ID:???0579nobodyさん
2011/05/23(月) 11:52:46.60ID:???0583nobodyさん
2011/05/23(月) 12:57:40.94ID:???0584nobodyさん
2011/05/23(月) 17:23:05.29ID:???0585nobodyさん
2011/05/23(月) 17:24:06.67ID:???0586nobodyさん
2011/05/23(月) 17:25:50.59ID:???0587nobodyさん
2011/05/23(月) 20:05:22.14ID:???0588nobodyさん
2011/05/23(月) 23:02:06.42ID:d2ZK5Ldrしかし、処理に時間がかかる場合は、ブラウザがずっと読み込み状態になります。
これは、バックエンドで実行できないので仕方ないのでしょうか?
execを使ってバックエンドで実行する方法もあるようですが・・・
0589nobodyさん
2011/05/23(月) 23:09:57.79ID:???0591nobodyさん
2011/05/23(月) 23:28:31.02ID:d2ZK5Ldr開発はWindowsでやってまして・・・
>>590
Ajax使うとかですか?ちょっと試してみます
0592nobodyさん
2011/05/23(月) 23:35:13.22ID:???セーフモードっていう制限あるなら別だが・・・
0593nobodyさん
2011/05/23(月) 23:40:01.66ID:???0594nobodyさん
2011/05/23(月) 23:42:26.78ID:d2ZK5LdrjQueryのAjaxでやってみたのですが、10秒sleepかけたら
結果が表示されるまで10秒待たされますね・・・
0595nobodyさん
2011/05/23(月) 23:44:39.80ID:d2ZK5Ldr予約フォームでも作って配布しようと思ってるのですが、
execってサーバの仕様によりますよね?Windowsは関係ないにしても。
ですので、難しいかな?と思っております。
0596nobodyさん
2011/05/24(火) 00:08:51.31ID:???0598nobodyさん
2011/05/24(火) 01:47:53.52ID:???curl_multi_*系使えば?ソース切り分けるのが大変なら
あとは頑張れとしか言いようがないが・・・
0599nobodyさん
2011/05/24(火) 03:25:16.83ID:jZjKrKf9【PHPのバージョン】5.2.5
【連携ソフトウェア】なし
【質問内容】
mb_convert_encodingでShift_JISの文章をUTF-8にすると
�Uが?に、〜が?に変わる等、もとの文字から変化してしまうんですが
これを防ぐ方法はありますかね?
SJIS→EUCだと無問題でしたが、UTF-8で組み上げてしまったので今更此処だけのために変えたくないのです。
元データはShift_JISから変更できないものとして下さい。
対策法ありましたら教えていただきたく思います。
0600599
2011/05/24(火) 03:26:18.70ID:jZjKrKf9�Uが?に、〜が?に
0601599
2011/05/24(火) 03:27:21.80ID:jZjKrKf9〜が「wikipediaで〜の代わりに利用されている記号」でお願いします。
0602nobodyさん
2011/05/24(火) 04:22:29.42ID:???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:???間違えた。これでOK
$str = mb_convert_encoding($str,"UTF-8","sjis-win");
0605nobodyさん
2011/05/24(火) 04:35:08.00ID:???0606nobodyさん
2011/05/24(火) 10:35:42.44ID:B17q1BJihttp://localhost/hoge/hage/index.php
にアクセスして
echo some_function("../");
とすると
http://localhost/hoge/が返ってくるような関数を希望しています
realpathはちょっと違うみたいなので
0608nobodyさん
2011/05/24(火) 11:47:09.98ID:B17q1BJiただ標準関数があるかないかだけ知りたかったので
ググった先の人は自作関数つくってましたが
ドキュメント不足であまり知られてない関数も多数あるので
知ってる人いないかな?と思って聞きました
0609nobodyさん
2011/05/24(火) 11:53:06.86ID:???0610nobodyさん
2011/05/24(火) 12:00:28.73ID:B17q1BJihttp://www.php.net/manual/ja/reflector.export.php
こんなのとか
>この関数は、 現在のところ詳細な情報はありません。引数のリストのみが 記述されています。
とサマリーが書かれてないやつですね
0611nobodyさん
2011/05/24(火) 12:17:49.41ID:???そのような内部(ビルトイン)関数は無い
0612608
2011/05/24(火) 12:23:32.00ID:B17q1BJiありがとうございます
おとなしくPHPで実装しますか
0613nobodyさん
2011/05/24(火) 12:26:44.38ID:???0614nobodyさん
2011/05/24(火) 12:27:00.31ID:???0615nobodyさん
2011/05/24(火) 12:39:17.62ID:???0616nobodyさん
2011/05/24(火) 13:03:46.05ID:???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);
0618599
2011/05/24(火) 13:40:24.73ID:jZjKrKf9ありがとうございます。
SJISと思い込んでおりましたがSJIS-winだったようですorz
PHP以前の問題に回答していただき有難う御座いました。
0619nobodyさん
2011/05/24(火) 16:53:51.35ID:???エラーが出た場合、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:b9bCoq0a0621619
2011/05/24(火) 16:56:39.02ID:???× CentOS PHP5.1.6
○ WindowsXP PHP5.3.5
0622。 ◆oDupeixhZv52
2011/05/24(火) 17:17:17.73ID:???0623619
2011/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:???0625nobodyさん
2011/05/24(火) 20:35:47.52ID:???はっておきますね
0626617
2011/05/24(火) 20:37:24.93ID:???0627nobodyさん
2011/05/24(火) 20:45:47.29ID:???もうちょっと原因の切り分けをすべきです
ぱっと見で言えば、無限ループじゃね?という感じか
Cとかみたいに随時出力とかはそれでは出来ないけど
0629nobodyさん
2011/05/24(火) 21:05:09.24ID:???0630nobodyさん
2011/05/24(火) 21:30:25.46ID:???0631nobodyさん
2011/05/24(火) 21:37:23.37ID:???こいつらのせいでPHPスレの回答者はなめられていい迷惑だ
0635nobodyさん
2011/05/25(水) 09:42:45.17ID:???バカの一つ覚えみたいに無限ループがなんて騒いでるのも己のスキルがバレるよ
0636nobodyさん
2011/05/25(水) 11:11:00.56ID:5sX1Dxk4$query .="values(\"" .$url. "\",\"".$data."\",\"".$data."\",CURDATE())";
こんな感じでinsertしてるのですがうまくいきません
すいませんがどなたがご教示下さい
0637nobodyさん
2011/05/25(水) 11:24:48.51ID:???釣りじゃないならエラーメッセージとテンプレ
エスパーすると $data = mysql_escape_string($data); を実行
0638nobodyさん
2011/05/25(水) 11:25:03.75ID:jb860Ok3php.iniでの設定が「512M」になっていると、
ini_get('memory_limit')とすると「512M」と文字列のまま返ってきます。
数値で返ってくるような関数は実装されておりますでしょうか。
(なければ、512Mの文字列を数値に変換する処理が挟むので・・・)
やりたいこととしましては、
大量のデータを取り込む
↓
メモリ使用率判定で、80%ほど使われていれば途中でエラーと行番号を出す
memory_get_usage()と比較して判定
宜しくお願いします
0639nobodyさん
2011/05/25(水) 11:29:07.96ID:???たぶんない
というか、$limit = (int)ini_get('memory_limit'); だけで済むでしょ
0640nobodyさん
2011/05/25(水) 11:35:57.00ID:jb860Ok3> というか、$limit = (int)ini_get('memory_limit'); だけで済むでしょ
いやそれはないだろwwwwwww
0641nobodyさん
2011/05/25(水) 11:38:11.36ID:???彼らは顔真っ赤になると自分を肯定するために荒らすので注意しましょう
0644nobodyさん
2011/05/25(水) 12:06:35.76ID:???RTFM
http://www.php.net/manual/ja/function.ini-get.php
0645nobodyさん
2011/05/25(水) 12:07:34.43ID:???>>617のソースのみから考えられるのって無限ループと
fputsしてる部分で \/の\が不要って部分ぐらいだろ。
そしてどの段階でコメントが取得できていないと書いてないから不明
PHPを表示させて取得できないっていうなら無限ループだし
ループ無しの状態でfgetcしてもとれないのかも不明
質問者が手を抜きすぎなんだよ
0646nobodyさん
2011/05/25(水) 12:17:41.43ID:???0647nobodyさん
2011/05/25(水) 12:20:57.54ID:???0648nobodyさん
2011/05/25(水) 12:25:22.44ID:???0649nobodyさん
2011/05/25(水) 12:30:34.02ID:???0650nobodyさん
2011/05/25(水) 12:34:40.94ID:JzX2/aKgpreg_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 .= " values (\"" . $url . "\",\"" . $url . "\",\"" . $url . "\",CURDATE())";
こんな形で解決しました
有難う御座いました
0653nobodyさん
2011/05/25(水) 12:54:20.44ID:???0654nobodyさん
2011/05/25(水) 13:54:43.50ID:???0655nobodyさん
2011/05/25(水) 13:59:17.74ID:???0656nobodyさん
2011/05/25(水) 14:20:09.56ID:???0657nobodyさん
2011/05/25(水) 14:23:26.04ID:vv7yAL0xこれが空と判定されて
$a = array(array(1,2,3),array(),array());
が入っていると判定する方法はありませんか?
値は数字とは限りません
0659617
2011/05/25(水) 14:55:26.09ID:???fgetcを使ったのがいけないみたいです
0662nobodyさん
2011/05/25(水) 15:49:58.98ID:???0663nobodyさん
2011/05/25(水) 17:40:34.17ID:???配列内の値を2で掛けた値に変更したいのですがどうやるのが一番よいですか?
0664nobodyさん
2011/05/25(水) 17:43:37.47ID:jb860Ok3どういうやり方があって各メリットがあって、それに対して意見求めるならわかるんだが
ただ単に「どうやるのが一番よいですか?」ってただの教えて君にしか見えないよ
0665nobodyさん
2011/05/25(水) 17:50:42.86ID:???0666。 ◆oDupeixhZv52
2011/05/25(水) 17:59:26.70ID:???array_walk($a,function(&$v){$v*=2;});
とか
foreach($a as $var=>$val)$a[$var] = $val*2;
0669nobodyさん
2011/05/25(水) 20:11:24.92ID:???0670nobodyさん
2011/05/26(木) 04:11:50.15ID:???http://www.c-recipe.biz/
0671m ◆HtQ8Kj2zzc
2011/05/26(木) 09:19:06.10ID:Hn9Exv6E【PHPのバージョン】5.1
【連携ソフトウェア】なし
【質問内容】
セッション管理での質問です。
session_start()の後にガベージコレクションが動くと思うのですが以下の状態になって困っています。
ガベージコレクションの実行確立は100%(session.gc_probability=100,session.gc_divisor = 100)
session.gc_maxlifetimeを10秒に設定して1回目の処理でsession_start()時点でセッションファイルを作成。
同じ処理を15秒後に再度実行、session_start()直後に1回目で作成したセッションファイルが削除される。
session_start()の時点でセッションファイルの寿命が伸び、作成から0秒なのでガベージコレクションの
削除対象とはならないと思うのですがこの考え方は間違っていますか?
また、この状態は正常ですか?
回避する方法はありますでしょうか?
0672nobodyさん
2011/05/26(木) 11:17:31.15ID:???> session_start()の時点でセッションファイルの寿命が伸び、作成から0秒なのでガベージコレクションの
> 削除対象とはならないと思うのですがこの考え方は間違っていますか?
間違っている。
session_start()内の処理順序は、セッションファイルの読み込み→GCの起動。
GCは単純にファイルの更新日時を見て削除する。
セッションファイルの読み込みだけではファイルは更新されないので寿命は延びない。
> また、この状態は正常ですか?
正常。
> 回避する方法はありますでしょうか?
session_start()直後にsession_regenerate_id()を呼べば、
新しいセッションファイルが作成されるのでセッションを継続できる。
他にもあるかもしれないけど知らない。
0673nobodyさん
2011/05/26(木) 11:19:13.28ID:???同じセッションIDでも
不要セッションファイル削除
↓
以前のセッションファイル読込み
↓
新たにセッションファイルに書き込み
てなっとるんかな?わしも知りたい
0674nobodyさん
2011/05/26(木) 11:20:38.54ID:???0675nobodyさん
2011/05/26(木) 11:29:40.63ID:???自分でDBとかに保存するプログラムを書くのが一番理解しやすいと思うよ
0676671 ◆HtQ8Kj2zzc
2011/05/26(木) 12:51:53.70ID:Hn9Exv6Esession_start()内の細かい処理はわかりませんが、session_start()が終わった時点でファイルの更新日時は更新されるようです。
GCが別の更新日時を見てるのか…。
セッションファイルの読み込み→GCの起動→セッションファイルの更新という順番なのか…。
そもそも、session_regenerate_id(true)を行ったときに以下のエラーがでたのでこの問題に気づきました。
session_regenerate_id()では問題ないのですが、元session_regenerate_id(true)を利用したいのですよね。
[エラーメッセージ]
Warning: session_regenerate_id() [function.session-regenerate-id]:
Session object destruction failed in ファイル名 on line 42
session_set_save_handlerは試してみます。
■ このスレッドは過去ログ倉庫に格納されています