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

【PHP】下らねぇ質問はここに書き込みやがれpart17

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん2006/02/24(金) 22:05:48ID:YHkZgU8b
PHPに関するくだらねぇ質問用スレです。 
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。 

まず読め【PHP マニュアル】 
http://www.php.net/manual/ja/

本スレ【PHP】質問スレッドpart33【php】
http://pc8.2ch.net/test/read.cgi/php/1140027592/l50

前スレ【PHP】下らねぇ質問はここに書き込みやがれpart16
http://pc8.2ch.net/test/read.cgi/php/1139146534/l50

過去スレは>>2
08638612006/03/13(月) 23:00:17ID:???
>>862
スマソ
悪気はなかった
吊ってくるわ
0864nobodyさん2006/03/13(月) 23:08:08ID:???
>>856
いい加減うざい。
自分で調べる癖つけような、な。
0865nobodyさん2006/03/13(月) 23:39:46ID:???
>>862
自分の使ってる2chブラウザは普通にリンクになってるが?
0866nobodyさん2006/03/13(月) 23:48:41ID:???
当然、このスレの常連ならみんなp2使っているよね?
0867nobodyさん2006/03/13(月) 23:55:59ID:???
rep2では>>861のアンカーは認識されず。
0868nobodyさん2006/03/14(火) 00:09:21ID:???
JaneDOEでも認識されてないぽ
0869nobodyさん2006/03/14(火) 00:19:23ID:???
>>867
それくらい自分で改造汁
0870nobodyさん2006/03/14(火) 00:38:33ID:???
前に話題になってたけどstr_split使えない環境だったら
$chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
があるみたいだね。やっぱマニュアル天才。
0871nobodyさん2006/03/14(火) 01:27:19ID:???
何を今更…
0872nobodyさん2006/03/14(火) 11:40:24ID:???
フォームでの画面遷移時に「戻る」ボタンで戻ったときの
値の保持についていろいろググってみたけど、
まだ誰も根本的な解決策や原因が見つかってないみたいだね。

フォームなんてごくごく一般的に誰もが使うのに、意外な結果だ。
0873nobodyさん2006/03/14(火) 12:33:52ID:???
>>870
マルチバイトだとそれもつかえない。
おれはmb_substr()を回してやってる。
0874nobodyさん2006/03/14(火) 13:40:27ID:???
> 原因が見つかってない
?????
0875nobodyさん2006/03/14(火) 13:45:29ID:???
バカはほっとけ
0876nobodyさん2006/03/14(火) 13:49:38ID:???
PHPとはあんまし関係ないんだけどさ
PHP本家からダウンロードできる.chmのヘルプって壊れてる?
何回やってもページを表示できませんってでてしまう
08778362006/03/14(火) 13:52:31ID:???
>>839(?)
>>840
>>842
>>852
返事が遅くなってすみません。
いろいろなアイディアを教えていただいて、参考になりました。使ってみて
一番入力が楽なヤツを試してみます。
ご回答ありがとうございました。
0878nobodyさん2006/03/14(火) 14:15:15ID:???
function getSGlobal ($gname, $name) {
return (isset ($$gname[$name]))?($$gname[$name]):(NULL);
}

$_COOKIE['example'] = getSGlobal ('_COOKIE', 'example');
という方法もある。

俺も凄い気になったんだよな、もう少し楽にスーパーグローバル取得できないか。
そんで前スレかどっかで、Cのマクロ関数みたいな事ってできませんか?みたいな事聞いたら、
関数でやれって返ってきた。
0879nobodyさん2006/03/14(火) 14:15:25ID:???
>>876
キーワードが文字化けしてるが壊れてはいない
0880nobodyさん2006/03/14(火) 14:30:02ID:???
>>878ってできないんだな
ttp://php.s3.to/man/language.variables.variable.html
0881nobodyさん2006/03/14(火) 14:31:41ID:???
>>877
こんな感じになった。
<?php
// デバッグ用
// エラーは全て表示する
error_reporting(E_ALL);
function getSGlobal (&$gname, $name) {
return (isset ($gname[$name]))?($gname[$name]):(NULL);
}
$hogehoge = getSGlobal($_GET, "hogehoge");
echo $hogehoge;
?>
0882nobodyさん2006/03/14(火) 14:45:52ID:???
三項演算子 (〜?〜:〜);

ほんと便利だよね。
0883nobodyさん2006/03/14(火) 15:06:54ID:???
IDとパスワードでログインする仕組みをセッションを使って作ったのですが、
ログイン後しばらく放置しておいてからアクセス(更新など)すると、ログアウトされてしまいます。

これは放置時間が一定以上続いた場合にセッション情報が破棄されているのだろうと思いますが、
このセッション破棄までの時間は、php.iniのどこをいじればいいのでしょうか?
「session.cache_expire」が関係あるのかとも思いましたが、デフォルトの「180」のままなのに、
180分も経たないうちに(具体的には10分くらいで)ログアウトになってしまいます。
0884nobodyさん2006/03/14(火) 15:12:29ID:???
>>882
俺への何かのあてつけかと一瞬勘ぐった。
08858822006/03/14(火) 15:14:33ID:???
>>884
あてつけのつもりはないから安心汁
0886nobodyさん2006/03/14(火) 15:14:58ID:???
>>883
http://php.s3.to/man/ref.session.html
session.gc_maxlifetime integer
0887nobodyさん2006/03/14(火) 15:17:49ID:???
>>885
ってか三項演算子って言葉って知ってて当然なんかな?
(〜?〜:〜);と全部記号だから検索でヒットさせられるのが無くて困る。
Cだと#defineと併用して使うからマクロ関数とかばっかり出てくるし。
0888nobodyさん2006/03/14(火) 15:24:55ID:???
>>887
三点演算子だと思い込んでいて検索でかからなくて困ってたことが・・・。

http://www.sra.co.jp/people/t-ishii/php_new/php4_new.html

第一部 PHPをはじめよう(3360KB)

だけでもいいから読んどいた方がいいよ。
0889nobodyさん2006/03/14(火) 15:25:36ID:???
>>887
マニュアルをじっくり読めば書いてある
08908882006/03/14(火) 15:26:55ID:???
「ふざけんな、そんな初心者向けの本なんて読むかbk」と言われそうだから追記
ざっとでいいから、眺めれば「三項演算子」という言葉ぐらいは分かるって意味ね。
0891nobodyさん2006/03/14(火) 15:27:21ID:???
>>886
あいたしゅ。
0892nobodyさん2006/03/14(火) 15:48:49ID:???
sessionスタートさせて(セッション用プログラムをrequire)、
セッション値を参考にしてダウンロード場所を選択して
ファイルをダウンロードする仕組みを作ってるんですが、
どうもセッション用プログラムをrequireすると
上手くダウンロードログが表示されません。

セッション用プログラムをコメントアウトすると機能するので、
おそらくヘッダー関係あたりの問題かなと思うのですが、
何か良い解決方法は無いでしょうか。
0893nobodyさん2006/03/14(火) 16:36:12ID:???
日本語おk
08948772006/03/14(火) 17:02:51ID:???
>>878
>>881
更なるアイディアありがとうございます。
教えていただいた方法を試してみた結果、881に紹介していただいた
方法を自分好みにして、以下のようなコードで記述することにしま
した。

function getSGlobal (&$gname, $name) {
$gname[$name] = isset($gname[$name]) ? $gname[$name] : NULL;
}
getSGlobal($_GET, "hogehoge");
echo $_GET["hogehoge"];

これなら、入力が楽です。本当にありがとうございました。
0895nobodyさん2006/03/14(火) 17:06:30ID:???
〜です。本当にありがとうございました。
0896nobodyさん2006/03/14(火) 18:36:34ID:???
>>892
まず問題点を整理し、そして質問する前に国語の勉強から・・・
0897nobodyさん2006/03/14(火) 18:49:44ID:???
配列を foreach で回すときの
順番って設定した順番になりますが
これは保証されてるのでしょうか?

0898nobodyさん2006/03/14(火) 19:01:58ID:???
>>897
されてるはず。
0899nobodyさん2006/03/14(火) 19:05:12ID:???
>>897
されてる。
0900nobodyさん2006/03/14(火) 19:13:33ID:???
>>899
して
0901nobodyさん2006/03/14(火) 19:57:29ID:???
されてるっけ?
不安になってきた
0902nobodyさん2006/03/14(火) 20:45:04ID:???
>>897
保証はされていないが、設定した順番になる。
0903nobodyさん2006/03/14(火) 20:50:40ID:???
>>901
foreachで取り出される順番はリンクリストに従ってるので
「設定した順番」つうのが通常のpushしていくやりかたなら
保証されてると考えていい。明確に保証するとは書いてなかったと思うけど。
0904nobodyさん2006/03/14(火) 21:33:46ID:???
それが保障されてなかったらasort()なんて意味なくなるだろ。
PHPでの連想配列は格納順番を内部に保持していてその通りに取り出せる。
0905nobodyさん2006/03/14(火) 22:01:08ID:???
>>892
ソースコードを出すのが手っ取り早い。
09068972006/03/14(火) 23:17:06ID:???
>>898-904
みなさんありがとうございました
安心して回します
0907nobodyさん2006/03/15(水) 00:27:49ID:???
>>906
っていうかこんなとこで聞いてるヒマがあったら、
自分で実験して確かめてみりゃあいいのに。。。
ループでecho使えば分かる話だろ。
0908nobodyさん2006/03/15(水) 00:34:04ID:???
>>907
それ、偶然動いてるのか環境依存なのか言語仕様なのか、動きを見ただけでお前は分かるのか?
0909nobodyさん2006/03/15(水) 02:02:25ID:???
>>908
>907じゃないが、俺なら数十回は試すな。
知的探究心ってのは止められないね。
その中で出てきた結果から憶測を何度も繰り返す。
再度何度も試し憶測どおりだったら頭の中に入れとく。

ところでPHPで、OSが違うと処理が変わる事ってあるん?
機会に便乗して質問してみる。
0910nobodyさん2006/03/15(水) 02:19:33ID:???
>>909
数十回試して同じ結果ならそれが正しいと?
0911nobodyさん2006/03/15(水) 02:27:00ID:???
>>910
正しいって言ってるか?好奇心の話だろ?

>>909
そんな話は聞いたこと無いな。インストールはまったく違うけど
0912nobodyさん2006/03/15(水) 02:33:21ID:???
マルチバイト関数はwinでのバグなのか挙動が違うって話はあったような・・

なんか話がずれてる人同士が言い合ってて不毛そうなのでやめたら?
0913nobodyさん2006/03/15(水) 02:36:17ID:???
>>907
むしろお前が暇人
0914nobodyさん2006/03/15(水) 03:14:22ID:???
>>913
このスレでそれは禁句(爆)
0915nobodyさん2006/03/15(水) 04:09:05ID:???
>>908
2〜3回試せば十分。ヲタは何事も粘着質でキモイな。

>>913
なんで? 5分もあれば出来ることだろ。
0916nobodyさん2006/03/15(水) 04:34:09ID:A2wD7hwK
質問です。
print関数の出力先を変える関数、方法をおしえてください。
0917nobodyさん2006/03/15(水) 05:10:12ID:???
>>915
危険なプログラマハケーン
そんなハンパな知識でWebアプリ組むなよ
0918nobodyさん2006/03/15(水) 05:11:37ID:???
>>916
ob_start()、ob_get_contents()
0919nobodyさん2006/03/15(水) 05:11:44ID:???
>>916
どこに変えたいの?
0920nobodyさん2006/03/15(水) 05:13:11ID:???
>>917
お前みたいなヤツは長生きしそうだな。
0921nobodyさん2006/03/15(水) 05:16:13ID:???
ヲタ同士喧嘩してないで、一緒に秋葉原でピザでも食ってろデブ。

はい、次の質問どうぞ。
0922nobodyさん2006/03/15(水) 05:20:12ID:???
アルテマウエポンはどこで手に入りますか
0923nobodyさん2006/03/15(水) 05:35:22ID:???
>>922
まずジュノン近くの湖へ行きましょう。
ボスが居ます。
戦闘終了後(まだ倒してない)ぶアルテマウェポンがどっか飛んでくのでぶつかって何度も倒しましょう。
今度は直線に飛び始めるので、止まったら再度戦闘を仕掛けて倒しましょう。
アルテマウェポンがコスモキャニオンか古の森で止まったら最後です。
おめでとうございます、アルテマウェポンをゲットします。
0924nobodyさん2006/03/15(水) 05:36:19ID:???
ありがとうございます。これで悔いはありません。
0925nobodyさん2006/03/15(水) 07:18:48ID:???
>>922
まずおもちゃの銃を手に入れろ
少年が倉庫へ行くためのカードキーの場所まで連れて行ってくれるところでカードキーを落とす敵の奥で手に入る
8章以降でおもちゃの銃をアルテマウェポンにチューンできる。20万ギルほど必要
0926nobodyさん2006/03/15(水) 08:44:03ID:???
今からここはFF専用下らねぇ質問スレになります
0927nobodyさん2006/03/15(水) 09:12:36ID:???
>>922
まず、となり
0928nobodyさん2006/03/15(水) 09:17:17ID:???
>>907
ソース見た方がはやい
0929nobodyさん2006/03/15(水) 09:58:51ID:???
>>915
2〜3回くらいならPerlの連想配列ですら格納順でループしちゃう可能性があるけどなw
0930nobodyさん2006/03/15(水) 10:14:44ID:???
>>909
配列みたいな基本部分では多分変わんないと思うけど、
システムコールを呼んでる部分では微妙に違うとこあるね。
そういう中身を想像できる人ならあまり気にならないんじゃない?
0931nobodyさん2006/03/15(水) 10:18:36ID:???
>>912
そういや、4.4.1でallow_url_fopenがバグったのはWin版だけだったね。
0932質問2006/03/15(水) 10:38:37ID:48VnBYob
"/head.bin"と、"/data/body.bin"というファイルを、
"/data/hoge.bin"として結合する方法を教えてください。
それぞれのファイル内容をfread()で$headと$bodyに読み込んで、

$ToFile = fopen("/data/hoge.bin","wb");
fwrite($head.$body,$ToFile);
のようにしてみたのですが、
エラーが出て、"/data/hoge.bin"のファイルが、サイズが0の状態で出力されます。
この方法は正しくないのでしょうか?
御教示お願い致します。
エラーメッセージの内容は、今家にいないので、帰ってきてから書きます。
0933nobodyさん2006/03/15(水) 10:50:35ID:???
fwrite($ToFile,$head.$body);
では。

そもそも連結しなくたって、
fwrite($ToFile,$head);
fwrite($ToFile,$body);
2回書けばいいだけでは。
09349322006/03/15(水) 11:11:38ID:F5a3ZDp1
>>933
> fwrite($ToFile,$head.$body);
> では。
そうでした。携帯からだったので書き写し間違えてました。PCのほうは正しく書いてます。

2回書けばいいんですか。帰ったら試してみます。
0935nobodyさん2006/03/15(水) 11:29:41ID:???
すいません。スクリプトの最初と最後でmicrotimeでスタンプ取得して、
その差を求めてベンチ取ってるんですが、
なぜかときどき結果がマイナスになってしまうことがあります。
なぜなんでしょう??? ありえないですよね・・・
0936nobodyさん2006/03/15(水) 11:45:42ID:???
>>935
すごい速いとか
0937nobodyさん2006/03/15(水) 11:48:18ID:???
光の速度を超えちゃったんだね
0938nobodyさん2006/03/15(水) 11:53:25ID:???
>>935
時刻あわせかな?
0939nobodyさん2006/03/15(水) 11:54:21ID:???
プログラムミスだと思うよ。
0940nobodyさん2006/03/15(水) 12:06:52ID:???
>>935
ちゃんとスペースで分割してる?
0941nobodyさん2006/03/15(水) 12:14:33ID:???
>>935
ソース出せ
0942nobodyさん2006/03/15(水) 13:06:22ID:???
つーかマニュアルにあるな。
function microtime_float()
{
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}
0943nobodyさん2006/03/15(水) 13:16:44ID:???
>>940 スペースで分割・・・???

>>941
$start_time = microtime(); //スクリプトの先頭に置く
$end_time = microtime(); //ここから下はスクリプトの末尾に置く
$exe_time = $end_time - $start_time;
echo $exe_time;
0944nobodyさん2006/03/15(水) 13:29:54ID:???
>>943
まづ下の結果をよく見て来い。話はそれからだ。
echo microtime();
0945nobodyさん2006/03/15(水) 13:46:48ID:???
phpのfloatって倍精度保証?
0946nobodyさん2006/03/15(水) 13:52:38ID:???
>>945
標準はdouble精度

てか、また保証話かよ
0947nobodyさん2006/03/15(水) 13:54:06ID:???
実際にmicrotimeでベンチ取っても、結果にはかなりのバラつきあるよね。
10回や20回数値を取った程度じゃ、偏りのある結果を得られないかもしれない。
ましてや共有鯖みたいな環境だったら、他に影響される部分が多すぎて、
自分のスクリプトの真のベンチが取れないね。
はて、どうしたもんやら。
ローカルでベンチ・スクリプト以外は極力動かさないようにしてやるしかないか??
0948nobodyさん2006/03/15(水) 13:55:06ID:???
そこでPEARですよ。
0949nobodyさん2006/03/15(水) 13:57:47ID:???
>>947
共有鯖でベンチとろうってお前の姿勢が気に食わない
0950nobodyさん2006/03/15(水) 14:00:10ID:???
>>947
共有鯖でベンチテストなんてやらないでね
0951nobodyさん2006/03/15(水) 14:04:40ID:???
>>947
100万回ループさせて割り算しろよ。
0952nobodyさん2006/03/15(水) 14:07:56ID:???
>>949>>950>>951
ベンチって言っても、いわゆる何万回も意味のないループを
繰り返したりするような類のベンチじゃないっつーの。
キモヲタと一緒にするなっての。

ふだん運用してる自作のスクリプトの実行時間を知りたいだけ。
0953nobodyさん2006/03/15(水) 14:08:45ID:???
>>947
頼むから俺様がピーコちゃんを飼ってるサバの住人じゃありませんように
0954nobodyさん2006/03/15(水) 14:10:37ID:???
>>953
カエレ
0955nobodyさん2006/03/15(水) 14:14:57ID:???
>>952
情報小出しにしてなに優越感に浸ってるんだ?
0956nobodyさん2006/03/15(水) 14:16:22ID:???
>>952
きんもーっ☆
0957nobodyさん2006/03/15(水) 14:19:20ID:???
>>955
ハァ?? 何が小出しなんだ??? バカかお前?
これ以上何を知りたいってんだ?

>>956
キモいよお前wwwwwwwwwwwwwwwwwwwwwwwwwww
0958nobodyさん2006/03/15(水) 14:23:45ID:???
>>957
お前の全てを知りたい。
まずその穴をこっちに向けてくれ…。
0959nobodyさん2006/03/15(水) 14:23:58ID:???
>10回や20回数値を取った程度じゃ、偏りのある結果を得られないかもしれない。
>ましてや共有鯖みたいな環境だったら、他に影響される部分が多すぎて、
>自分のスクリプトの真のベンチが取れないね。
>はて、どうしたもんやら。

100万回とって平均値とれや

>ベンチって言っても、いわゆる何万回も意味のないループを
>繰り返したりするような類のベンチじゃないっつーの。

そんなの後出しされても知るか。
0960nobodyさん2006/03/15(水) 14:25:01ID:???
>>959
小出しも後出しも駄目だ。外へ出してくれ。
0961nobodyさん2006/03/15(水) 14:37:04ID:???
>ふだん運用してる自作のスクリプトの実行時間を知りたいだけ。

これがキモヲタらしくてよい。
0962nobodyさん2006/03/15(水) 14:43:22ID:???
>>952
それをベンチと呼ぶ君の無知っぷりがかわいい
レス数が950を超えています。1000を超えると書き込みができなくなります。