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

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

■ このスレッドは過去ログ倉庫に格納されています
00019092006/06/23(金) 01:59:03ID:lPdqGX0Z
PHPに関するくだらねぇ質問用スレです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。

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

過去スレは>>2
0002nobodyさん2006/06/23(金) 02:15:16ID:???
 本 ス レ は も う 無 く な り ま し た
0003HTML_Template_Flexy2006/06/23(金) 03:13:33ID:???
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
【PHP】くだらねぇ質問はここに書き込みやがれpart3
http://pc5.2ch.net/test/read.cgi/php/1107780435/
【PHP】くだらねぇ質問はここに書き込みやがれpart4
http://pc8.2ch.net/test/read.cgi/php/1110697712/
【PHP】くだらねぇ質問はここに書き込みやがれpart5
http://pc8.2ch.net/test/read.cgi/php/1114787573/
【PHP】くだらねぇ質問はここに書き込みやがれpart6
http://pc8.2ch.net/test/read.cgi/php/1117945031/
【PHP】くだらねぇ質問はここに書き込みやがれpart7
http://pc8.2ch.net/test/read.cgi/php/1121100429/
【PHP】くだらねぇ質問はここに書き込みやがれpart8
http://pc8.2ch.net/test/read.cgi/php/1123431535/
【PHP】くだらねぇ質問はここに書き込みやがれpart9
http://pc8.2ch.net/test/read.cgi/php/1125716012/
【PHP】下らねぇ質問はここに書き込みやがれpart10
http://pc8.2ch.net/test/read.cgi/php/1127581425/
【PHP】下らねぇ質問はここに書き込みやがれpart11
http://pc8.2ch.net/test/read.cgi/php/1129582431/
【PHP】下らねぇ質問はここに書き込みやがれpart12
http://pc8.2ch.net/test/read.cgi/php/1130835396/
【PHP】下らねぇ質問はここに書き込みやがれpart13
http://pc8.2ch.net/test/read.cgi/php/1132921016/
【PHP】下らねぇ質問はここに書き込みやがれpart14
http://pc8.2ch.net/test/read.cgi/php/1134868212/
【PHP】下らねぇ質問はここに書き込みやがれpart15
http://pc8.2ch.net/test/read.cgi/php/1137236771/
0004nobodyさん2006/06/23(金) 03:14:33ID:???
【PHP】下らねぇ質問はここに書き込みやがれpart16
http://pc8.2ch.net/test/read.cgi/php/1139146534/
【PHP】下らねぇ質問はここに書き込みやがれpart18
http://pc8.2ch.net/test/read.cgi/php/1142417901/
【PHP】下らねぇ質問はここに書き込みやがれ Part19
http://pc8.2ch.net/test/read.cgi/php/1144513878/
【PHP】下らねぇ質問はここに書き込みやがれpart20
http://pc8.2ch.net/test/read.cgi/php/1146165153/
【PHP】下らねぇ質問はここに書き込みやがれpart21
http://pc8.2ch.net/test/read.cgi/php/1148389517/
【PHP】下らねぇ質問はここに書き込みやがれ 22
http://pc8.2ch.net/test/read.cgi/php/1149710968/
0005HTML_Template_IT2006/06/23(金) 03:15:20ID:???
・part17よりテンプレ化

extractは極力使わないほうがいいと思います。
例えば、

hoge.php?_SESSION[user_pw]=hogehoge

って形で送られてきたとします。これを

extract($_GET)

しちゃうと、$_SESSION['user_pw']の値が、
"hogehoge"に変更されてしまいます。

もし事前にユーザのパスワードを、$_SESSION['user_pw']に
保持してたとしたら、勝手に書き換えられてしまうことになります。

それを避けるために

extract($_GET, EXTR_SKIP)

ってやって上書きを避けたとしても、
このままでは変数の初期化を忘れる危険性があります。

extract($_GET, EXTR_PREFIX_ALL, "get")

と、接頭辞をつけるのが一番安全な気はしますが、
それなら最初から
$hoge = $_GET['hoge'];
ってやるのと手間が変わらないと思いますし、可読性も増します。
確かにextractするのは楽だと思いますけど。
0006nobodyさん2006/06/23(金) 03:26:00ID:???
質問スレはマニュアルの検索エンジンではありません
「○○する関数はありますか?」の類いの質問はお断りします
0007nobodyさん2006/06/23(金) 03:26:49ID:???
◆質問する場合の注意
1. 自分のIDを表示させること。(メール欄には何も記述しないでください)
2. ハードウェア、OSのバージョン等を明記すること。
3. 己の行った操作、変更などを詳しく明記すること。
4. エラーメッセージはそのまま表記すること。
5. 質問者としても態度をわきまえること。


◆質問後の注意
・質問者は必ずIDを表示させてください。
  書き込む場合はメール欄に何も記述しないでください。
・2回目以降は最初に質問した際のレス番号を名前欄に入れてください。
  (逆に回答者は質問者に対して>>(アンカー)をつけて答えてください。)
・解決しなくても回答をもらった場合はお礼を言う。
  (荒らし、煽りは除く)

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
0008nobodyさん2006/06/23(金) 03:28:11ID:???
関連リンク
■本家マニュアル   http://www.php.net/manual/ja/
■日本PHPユーザ会 http://www.php.gr.jp/
■PEARマニュアル  http://pear.php.net/manual/ja/
■メーリングリスト   http://ns1.php.gr.jp/mailman/listinfo/

 (以下英語)
■Smarty       http://smarty.php.net/
■Zend本家      http://www.zend.com/
■Zend Framework  http://framework.zend.com/
■php | architect   http://www.phparch.com/
■Smartyマニュアル http://smarty.php.net/manual/en/
■ZFマニュアル    http://framework.zend.com/manual/en/
■PECL本家(英語) http://pecl.php.net/

まだ英語しかないマニュアルも後々/manual/en/を/manual/ja/に変えてみたら日本語があるかもしれません。
0009nobodyさん2006/06/23(金) 03:41:07ID:???
関連スレ
PHP関連の書籍 第3版
http://pc8.2ch.net/test/read.cgi/php/1150558685/
PHP関連サイト
http://pc8.2ch.net/test/read.cgi/php/982694601/
【PHP】PEAR Part2
http://pc8.2ch.net/test/read.cgi/php/1122899232/
【Smarty】PHPのテンプレートエンジン【Flexy】
http://pc8.2ch.net/test/read.cgi/php/1118799352/
[PHP]フレームワークについて語るスレ3[総合]
http://pc8.2ch.net/test/read.cgi/php/1145971945/
Webでオブジェクト指向プログラミング
http://pc8.2ch.net/test/read.cgi/php/1133489897/
【PHP】セッションについて語ろう!【PHP】
http://pc8.2ch.net/test/read.cgi/php/1064399467/
PHP統合開発環境スレ
http://pc8.2ch.net/test/read.cgi/php/1123912762/
最強のPHPエディタはなに?
http://pc8.2ch.net/test/read.cgi/php/1133785416/

[PHP-users MLヲチ9]丸投げした覚えは全くありません
http://pc8.2ch.net/test/read.cgi/php/1143731062/
中学生がPHPを習得するスレ
http://pc8.2ch.net/test/read.cgi/php/1139746974/
【PHP】Lvうpしたいので宿題ください
http://pc8.2ch.net/test/read.cgi/php/1147830986/
親切な人が初心者にPHPの関数を使い方を教える
http://pc8.2ch.net/test/read.cgi/php/1068190843/
くだすれPHP(超初心者用)
http://pc8.2ch.net/test/read.cgi/php/1150088761/
0010nobodyさん2006/06/23(金) 03:42:46ID:???
関連板
データベース(SQL、DBMSの話題はこちら)
http://pc8.2ch.net/db/
プログラム(CLI、アルゴリズム、インタプリタの話題はおそらくこちら)
http://pc8.2ch.net/tech/
Web制作(クライアントサイドの話題は問答無用でこちら)
http://pc8.2ch.net/hp/
0011nobodyさん2006/06/23(金) 03:44:04ID:???
【簡易FAQ】
1. ブラウザに何も表示されないんだけど・・・
 → error_reporting()や、php.iniのdisplay_errors、log_errorsを確認
2. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
 → できません
3. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
 → 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
4. echo "$arr['hoge']['fuga']"; がうまくいかない
 → {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
5. echo?print?
 → echoはコンマ区切りで書けるけど関数ではない。printは関数。パフォーマンスは気にするな
6. 値渡しと参照渡し(「&」を使う)のパフォーマンス
 → この二つはパフォーマンス目的で使いわけたらダメ。よく知らずに参照渡しにすると遅くなったりする
  参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
7. CSVやTSVのファイルをスマートに扱いたい
 → まずはfgetcsv()
8. ファイル入出力関数(fopen等)でリモートファイル(http://〜とか)を扱う際の限界
 → fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
  必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
9. 一定時間ごとに何かしたい
 → cron、タスクスケジューラ
10. 画像処理一般 or GDの限界
 → ImageMagick(PECLのやつ or シェルから実行)
0012nobodyさん2006/06/23(金) 03:48:15ID:???
11. 画像・音・動画はファイルで保存?DBに保存?
 → 好きにしてください
12. クッキーの情報をユーザから隠したい
 → セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
13. このスレに書き込むときに自分のサイト名を晒したくない
 → http://example.com/が例文などのために予約されている
14. SQLの質問はどこで?
 → データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
15. 記号の意味がわからないけどググりようがない
 → 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス
  「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
16. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
 → ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
17. strip_tags()で削除しないタグを複数指定したい
 → strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
18. そもそもインストールの時点でうまくいかない
 → 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
  Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
19. PHPからPOSTリクエストしたい
 →8.を参照
00139092006/06/23(金) 05:15:15ID:lPdqGX0Z
さ、参考になりますねぇ^^;

みなさん書き込みお疲れ様です!
0014nobodyさん2006/06/23(金) 10:52:39ID:8iUOatGT
>>7

なんでハードウェアを明記する必要があるんですか?機械語じゃあるまいし
0015nobodyさん2006/06/23(金) 11:13:55ID:???
>>14
amd64とx86では同じOSを入れられるが挙動が変わることがある。
ってケースがあるからでしょ?
0016nobodyさん2006/06/23(金) 11:34:33ID:???
file($data);でファイルを開くのと
$fp=fopen($data,"r");でファイルを開くのは何が違うのでしょうか?
0017nobodyさん2006/06/23(金) 11:58:14ID:???
file()は有無を言わせず全部メモリに読み込んで終わり。
巨大なファイルを読み込んだりしたら大変なことになる。
fopen()なら任意の部分だけをメモリに読み込ませたり
同じ場所を何度も読んだりなど自由な処理ができる。
0018nobodyさん2006/06/23(金) 12:02:29ID:???
>>16
率直に言うと、
flockを介して読み書きを行うスクリプトであれば、
単に file($data) で読み込むのはよくない。

例を挙げると、
表示する場合だけ file 、書き込みを行う場合は fopen(r+) から flock(2) とした場合でも、
fopen-flock 中のファイルでも、 file は問題なくファイルの内容を読み込んでくるからだ。

これは、flock中のプロセスが、ファイルを書き換えるために ftruncate(0) などを行って
ファイルの内容が0の時に 他プロセスがfileで読み込むと、
エラーもなく空のファイルを読み込んでくる。

以上から、もっともまずいスクリプトの書き方は、
$ar = file($data); で読み込んできた配列を処理して、その後
fopen(+r) flock(2) ftruncate(0) fputs するようなやり方だ。

ロックファイルを用いて処理全体のロックを行わないと、データが全部失われる可能性がある。
0019nobodyさん2006/06/23(金) 12:43:12ID:???
>>15

そんな事例のニュースいままで聞いたことありません?
0020nobodyさん2006/06/23(金) 14:31:31ID:???
>>19
そう。幸せなんだね。
0021nobodyさん2006/06/23(金) 17:04:24ID:???
srand((double)microtime()*1000000);
$iro1=round(rand(1,4));//マーク
$iro2=round(rand(1,4));
$iro3=round(rand(1,4));
$num1=round(rand(1,13));//数字
$num2=round(rand(1,13));
$num3=round(rand(1,13));
//途中 略//
$card1=$mark1.$num1;
$card2=$mark2.$num2;
$card3=$mark3.$num3;

トランプ3枚を表示させようとしています。
echo $card1."-".$card2."-".$card3;
表示し終わってから戻るボタンでページを一枚戻り
進むボタンを押すとまたトランプが変わってしまいます。
進むボタンや戻るボタンでトランプを変わらないように
簡単にやる方法はありませんでしょうか?
0022nobodyさん2006/06/23(金) 17:08:53ID:???
>>21
なにをやろうとしてるのかわからないけど、
クッキーに $mark1,$num1,$mark2 ・・・
を持たせておいて、
スクリプト実行時に、まずクッキーにデータがないかを読み込むようにすれば?
0023212006/06/23(金) 17:20:44ID:???
簡易ゲームのページで手持ち100Pあり
ページAのボタンによりページBに移動
その際に1Pを消費します。
ページBでトランプ3枚を表示するのですが
戻るボタン、進むボタンを押されると
何回でもポイント消費なしでゲームできてしまいます。
何か良い対策方法はないでしょうか?
■ このスレッドは過去ログ倉庫に格納されています