12/07/25 21:30:09.38
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 120
スレリンク(php板)
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
2:nobodyさん
12/07/25 21:30:55.86
■過去ログ
【PHP】下らねぇ質問はID出して書き込みやがれ 119
スレリンク(php板)
【PHP】下らねぇ質問はID出して書き込みやがれ 118
スレリンク(php板)
【PHP】下らねぇ質問はID出して書き込みやがれ 117
スレリンク(php板)
【PHP】下らねぇ質問はID出して書き込みやがれ 116
スレリンク(php板)
【PHP】下らねぇ質問はID出して書き込みやがれ 115
スレリンク(php板)
【PHP】下らねぇ質問はID出して書き込みやがれ 114
スレリンク(php板)
【PHP】下らねぇ質問はID出して書き込みやがれ 113
スレリンク(php板)
【PHP】下らねぇ質問はID出して書き込みやがれ 112
スレリンク(php板)
【PHP】下らねぇ質問はID出して書き込みやがれ 111
スレリンク(php板)
【PHP】下らねぇ質問はID出して書き込みやがれ 110
スレリンク(php板)
【PHP】下らねぇ質問はID出して書き込みやがれ 109
スレリンク(php板)
3:nobodyさん
12/07/25 21:31:27.17
関連リンク
■本家マニュアル URLリンク(www.php.net)
■日本PHPユーザ会 URLリンク(www.php.gr.jp)
■PEARマニュアル URLリンク(pear.php.net)
■メーリングリスト URLリンク(ns1.php.gr.jp)
■ZFマニュアル URLリンク(framework.zend.com)
■Smartyマニュアル URLリンク(www.smarty.net)
(以下英語)
■Zend本家 URLリンク(www.zend.com)
■Zend Framework URLリンク(framework.zend.com)
■php | architect URLリンク(www.phparch.com)
■Smarty URLリンク(www.smarty.net)<)
■PECL本家(英語) URLリンク(pecl.php.net)
4:nobodyさん
12/07/25 21:32:00.97
【簡易FAQ】
1.文字コードは何を使えばいいの?
→1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
→ URLリンク(example.com)が例文などのために予約されている。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
→ Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
→ 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
→ {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
→ cronかタスクスケジューラを使え。
7.extractって危険なの?
→変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「~.php?a=b&c=d」のようなパラメータをつけたい
→ URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
→ .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
5:nobodyさん
12/07/25 21:32:34.05
10. そもそもインストールの時点でうまくいかない
→ 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
11. SQLの質問はどこで?
→ データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
→ ctype_~()が手軽。複雑なパターンはpreg_~()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
→ 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
→ よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
URLリンク(www.faqts.com)
15. クッキーの情報をユーザから隠したい
→ セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
→ strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
→ まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
→ C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(http://~とか)を扱う際の限界
→ fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
→19.を参照
21. 画像処理一般 or GDの限界
→ ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
→ 好きにしてください
6:nobodyさん
12/07/25 21:33:44.41
l 、 | |__
. _,レ_人_ _|_
_____ ____ _ ___
|__ | |__ | l二 二l |__ | [][]
/_ノ /_ノ l二 二l / /
__| | / /
ハ___ ハ___ / o ヽ__ | |
|____| |____| ヽ、__ノヽ_| ヽ_ヽ
── _ __O | ─っll ―┼―
─┬─ | l | ./ ○|
/ _ノ _/ |ノ (___ ノ
7:nobodyさん
12/07/25 21:35:44.36
23. Javaの話をすると回答者が不機嫌になるんだけど・・・
→ 他言語について言及しないこと。ここの回答者はPHPしかわかりません。
24. メソッドと関数の違い
→ えーと メソッドは引数を持たなく、関数は引数を持つんだとおもいます
25. オブジェクト指向
→ 使用しないこと。実装が中途半端だという説もありますが、
PHP自体遅いのでOOPするとさらに遅くなり、実用に耐えません。
26. 配列の中の最大値の添え字を取得したいんだけど・・・
→ まずドラゴンボールを7つ集めます
次に「タッカラプト・ポッポルンガ・プピリット・パロ」と唱えます
27.パフォーマンスが悪いと感じられるとき
→ キャッシュを使用してください。
それでもだめならサーバーCPUのオーバークロックをお試しください。
8:nobodyさん
12/07/25 21:41:13.65
>>7
スレリンク(php板)
巣へお帰りください
9:nobodyさん
12/07/26 00:42:51.69
こちらにはクソ回答者はいませんので大歓迎です!
【PHP】気軽にPHP質問スレ
スレリンク(php板)
10:nobodyさん
12/07/26 02:55:51.61 kczABB77
if($obj->foo('bar') == true)
ってやっちゃだめなのね。。。1時間悩んだ
11:nobodyさん
12/07/26 02:57:26.91 MiieOJAL
どんだけ張り付いてんだよwww
12:nobodyさん
12/07/26 03:01:19.93
すまねえ上げちまったぜ
11は7へ
13:nobodyさん
12/07/26 04:56:45.20
>>10
class Test {
function foo($bar) {
return true;
}
}
$obj = new Test();
if ($obj->foo('bar') == true) {
echo "true";
}
何がだめなのか
14:nobodyさん
12/07/26 05:10:56.48
比較演算子のことじゃね
15:nobodyさん
12/07/26 13:31:07.11
falseって文字列が来る場合があるなら===にすべしって奴?
16:nobodyさん
12/07/26 15:38:03.44 pGMceGId
画像アップローダーの製作&管理人やってるのですが、
利用者が直リンだらけ、借りてるレンタルサーバーが直リン禁止
しているのでが、これってまずいですかね?
今のとこレンタルサーバー側から警告等はないです。
17:nobodyさん
12/07/26 15:50:11.19
>>16
サーバー屋がダメって言ってるんならダメなんじゃないの?
18:nobodyさん
12/07/26 16:16:51.25
>>16
リファラで対策しなさい
19:nobodyさん
12/07/26 16:21:47.51
>>16
直リンされたら自分のページに飛ばしそこから見るようにする
ただしこれをやるとデメリットの方がでかい
20:nobodyさん
12/07/26 16:24:11.87
PHP関係ないのに回答www
21:nobodyさん
12/07/26 16:28:36.53
「気軽に質問スレ」以下の下らないスレだw
22:nobodyさん
12/07/26 16:31:15.00
>20-21
はいはい巣に帰ってね
23:nobodyさん
12/07/26 16:46:01.45 TjRZ3BtP
さっき気軽に質問スレで、セッション情報の有効期限を見るには、
そのファイルの更新日付を見ろって言われたんですが、
ini_setでsesssion.gc_maxlifetimeを一週間後にしても、
更新日付は作成された日付のままでした。
ブラウザ側のクッキーPHPSESSIDを削除したり、ブラウザを閉じたりしても、
セッション情報のファイルは残ったままで削除されてませんでした。
ガベージコレクションが行われるタイミングはデフォルトではブラウザを閉じたら行われるんじゃなかったんですか?
どうやったらセッション情報の有効期限を変更できるんですか?
お願いします。
24:nobodyさん
12/07/26 16:51:36.26
>>23
巣に帰れ
25:nobodyさん
12/07/26 16:56:09.28 TjRZ3BtP
死ね!!!!!!
26:nobodyさん
12/07/26 16:58:53.53
自演乙
27:nobodyさん
12/07/26 16:59:07.20
どういう神経してんだかな
28:nobodyさん
12/07/26 17:01:06.28 TjRZ3BtP
>>24
お前マジどっかいけよ
邪魔なんだよハゲ
29:nobodyさん
12/07/26 17:04:26.71 TjRZ3BtP
お願い・・・
誰か質問にこたえてください(T-T)
30:nobodyさん
12/07/26 17:05:06.14
>>23
ひどいな、コイツ
気軽に質問スレで答えてやって損したよ
馬鹿だからセッションの仕組みも理解できないんだろうな
もう自力で解決しろ
31:nobodyさん
12/07/26 17:08:20.09
あっちのスレたてたやつが荒らしに来てんだろ
放置でおk
32:nobodyさん
12/07/26 17:11:46.37
SQLiteの次はsessionか?
聞くことしかできない脳なしは大変だな
33:nobodyさん
12/07/26 17:13:56.04
>>23
バカなの?死ぬの?ハゲなの?
34:nobodyさん
12/07/26 17:17:06.96 TjRZ3BtP
ケッ
一人で自演かよ
もういいよ
自分で解決できたし
35:nobodyさん
12/07/26 17:19:30.53
次の質問者>>1読んでどうぞー
36:nobodyさん
12/07/26 17:20:41.41 Oe0470hh
文字列内の不要なタグを削除させたくて以下のようなコードを書きました。
しかし、</head>内のタグが削除されません。
どういう正規表現のコードを書けばいいのでしょうか?
$text = <<<EOF
<html>
<head><title>タイトル</title></head>
<BODY bgcolor="#ccc"><strong>aaa</strong></BODY>
</html>
EOF;
echo preg_replace(array('/<html.+?>/is', '/<\/html>/is', '/<head>.+?<\/head>/is', '/<body.+?>/is', '/<\/body>/is'), '', $text)
37:nobodyさん
12/07/26 17:21:26.83 TjRZ3BtP
>>36
巣に帰れボケ
38:nobodyさん
12/07/26 17:23:13.29
>>36
>>1
39:nobodyさん
12/07/26 17:30:16.41
スレリンク(php板)
こっちで教えてやる
40:nobodyさん
12/07/26 18:47:13.02
正規表現でHTML操作すんのは止めとけ
41:nobodyさん
12/07/26 19:15:35.08
DOM操作ならまだ許せるが
42:nobodyさん
12/07/26 20:22:09.11
>>36
> どういう正規表現のコードを書けばいいのでしょうか?
正規表現についての質問ならば、>>39 が書いてるね。
43:nobodyさん
12/07/26 20:37:19.31
HTMLはタグの対応が取れてなくても表示されたりするから
正規表現で厳密に捉えるのは無理
44:nobodyさん
12/07/26 20:39:28.54
PHPのDOMパーサーはちょっと使いにくいよな
ちゃんとしたHTMLが前提な感じがする
45:nobodyさん
12/07/26 21:03:14.31
simpleXMLはクソだけどDOMはそうでもなかったきがする
46:nobodyさん
12/07/26 21:43:09.02
こちらにはクソ回答者はいませんので大歓迎です!
【PHP】気軽にPHP質問スレ
スレリンク(php板)
47:36
12/07/26 22:05:24.63 Oe0470hh
>>39は過疎っているのでここで教えて欲しいのですが、、
無理そうなので諦めます。お騒がせしました
48:nobodyさん
12/07/26 22:07:54.28
あっち行けば教えてやるって言ってるのに
あほだな
まぁ諦めるかどうかは勝手だが
49:nobodyさん
12/07/26 22:08:21.51 kczABB77
phpで任意のファイルがアスキーかバイナリか判別することってできますか?
プラットフォームはUNIXです
50:nobodyさん
12/07/26 22:10:16.81 TjRZ3BtP
データもそんなにないしDBにデータ保存するの面倒だから、
セッションにデータ保存しといて使おうと思ってます。
でもセキュリティがちょっと心配なので
session_regenerate_id使って毎回セッションIDを変えて、セキュリティを高めようと思うのですが
この方法アリですか?
51:nobodyさん
12/07/26 22:12:09.43
php6からはis_binaryなる関数があるけどな(どういうのかは不明)
まぁ制御文字があればバイナリって判断でいいんじゃないの
52:nobodyさん
12/07/26 22:12:40.82
>>50
>>1
53:nobodyさん
12/07/26 22:17:03.88
毎回セッションIDを変えることでセキュリティが高まる根拠は?
54:nobodyさん
12/07/26 22:17:32.33
マルチ&態度がデカイ
55:nobodyさん
12/07/26 22:18:42.10 TjRZ3BtP
わーったよ
DBつくるよ
ありがとな!
56:49
12/07/26 22:23:55.33 kczABB77
>>51
バイナリなら必ずぬるぽって入りますかね・・・?
57:nobodyさん
12/07/26 22:24:17.14
SQLite厨がセッション厨になって再登場
58:nobodyさん
12/07/26 22:26:57.14
>>57
よく覚えてるな
これからもよろしくな!
59:nobodyさん
12/07/26 22:27:56.63
次は何厨に?
60:nobodyさん
12/07/26 22:28:28.73
もうちょっと自分で解決しないとな
聞いてばかりだと時間の無駄になるぞ
本当に躓いた時だけに聞くようにするといい
一般的かどうかとかそういうのは気になるかもしれないが
そういうの考えるのはまずは物ができてからだ
61:nobodyさん
12/07/26 22:32:42.54
>>56
大きな指標にはなるが完全ではない
URLリンク(d.hatena.ne.jp)
62:nobodyさん
12/07/26 22:50:09.05
finfo使ってみたら
63:49
12/07/26 23:00:53.12 kczABB77
>>61
ありがとございます。奥深すぎですね
64:nobodyさん
12/07/26 23:22:48.47
>>60
ダメ出しされてから作り直しの方が時間の無駄だろ
65:nobodyさん
12/07/26 23:30:24.26
時間の無駄と考えてるならプログラム向いてないからやめたほうがいいわ
66:nobodyさん
12/07/26 23:33:03.18
お前が向いてないからやめとけ
前もって分かるアンチパターン実践とかアホかと
67:nobodyさん
12/07/26 23:33:20.89
手間を省くために手間を掛ける、それがプログラミング
68:nobodyさん
12/07/26 23:36:22.51 TjRZ3BtP
すいません
セッションってどんなときに使うんですか?
クッキーさえあればログイン処理ってできますよね?
いまいちセッションの使い時がわかりません。
69:nobodyさん
12/07/26 23:43:01.26
>>68
例えば、ログイン済み状態でどのページにもユーザー名を表示するとする
ページ切り替えのたびに、データベースからユーザー名を検索するのは無駄なので
セッションデータ内にユーザー名をキャッシュしたりする
クッキー内に入れておくと、ユーザーが変更できてしまう
変更されて困るデータや個人情報など重要な情報をクッキーに入れてはいけない
70:nobodyさん
12/07/26 23:43:24.75
わからないなら必要ないのでしょう
71:nobodyさん
12/07/26 23:46:14.83
自分で擬似セッションIDを発行してクッキーで管理すればいいじゃんってことだろ?
でも手間じゃん
72:nobodyさん
12/07/26 23:48:23.67
>>69
なるほど~!
丁寧に回答していただいてありがとうございます!
73:nobodyさん
12/07/27 01:02:56.40
PHPでオススメのオブジェクト指向フレームワークを教えてください。
74:73
12/07/27 01:04:06.73
Mojaviということで自己解決しました
75:nobodyさん
12/07/27 01:06:44.81
メジャーな物から何でもいいから自分で試してみればいい
76:nobodyさん
12/07/27 01:19:09.92
そんなもんねえよ。
77:nobodyさん
12/07/27 01:31:31.07
>>73
PHPでtieは使えますか?
78:nobodyさん
12/07/27 01:32:12.56
PHPでMacアプリは作れますか?
79:nobodyさん
12/07/27 01:51:29.70
ルールない向こうのスレへ帰れよ
80:nobodyさん
12/07/27 08:11:37.25 pwFITbw+
>>69
もう一つ教えてください。
クッキーに重要な情報は入れないことは理解しました。
ではセッションにデータを入れておくのと、DBにデータを入れておくのでは何が違うのでしょうか?
どちらかにセキュリティに問題があるならその危険性をご教授いただきたいです。
81:nobodyさん
12/07/27 09:23:39.58
セッションデータに入れるのは
・そのユーザーのみに関係するデータ
・本体がデータベースに入っているので、消えても構わないデータ
で、これに上記のユーザー名が該当する
セッションデータは、データベースに入っているユーザー名のキャッシュの役割
Cookieを消した場合など、セッションが消えてもデータベース内のユーザー名は消えない
セッションとデータベースのセキュリティはプログラマー次第
用語を挙げとくので調べなさい
・セッションハイジャック
・SQLインジェクション
URLリンク(note.openvista.jp)
82:nobodyさん
12/07/27 09:56:01.19
>>81
なるほど~!
こんな怠け者に何度も回答していただいてありがとうございます!
URLのほうについても熟読させていただきます!
83:nobodyさん
12/07/27 14:12:22.79 pwFITbw+
ログインまでは実装できたのですがログインを持続させる方法がわかりません。
例えばニコ動ならブラウザ閉じたりしてもまだニコ動に行けばログインしたままの状態になってますよね?
この実装方法がわかりません。
たぶんクッキーにログイン中である情報を書き込んでいるんだと思いますが、
クッキーにあまり重要な情報は入れられないのでどういう情報をクッキーに残しておくのかわかりません。
単純にPHPSESSIDだけ書き込んでおいて、
セッションが残っていればログイン中であると判断する、みたいな感じでいいんでしょうか?
でもそれだとセッションの有効期限を随時延長しなければなりませんが、
その方法も分かりませんでした。
かなりうざがられてると思いますが、ご回答よろしくお願い致します。
84:nobodyさん
12/07/27 14:28:07.48
PHPのセッションってめんどくさいな
自分で管理したほうがよさそうだ。
85:nobodyさん
12/07/27 14:35:29.64
うざいとわかってるなら
本を買って読みなさいよ
ネットで集められる情報なんて切れ端のものばかりだし
本なら体系的に基本から勉強できるよ
86:81
12/07/27 14:56:43.17
キリがない
本を買いなさい
複数買って読み比べるのがベター
87:nobodyさん
12/07/27 15:01:01.79 pwFITbw+
もうそのレベルまで来てますかよね・・
ちゃんと俺がやりたいようなこと載ってるかな~
ありがとうございました
88:nobodyさん
12/07/27 16:28:38.87
>>87
その程度ならいくらでも載ってるよ。
ただ、カンナを木を削って寸法調整に使うものと勘違いするような
頭の硬さがあると何読んでもアウトだろうけど。
89:nobodyさん
12/07/27 22:12:52.40
>>81
ユーザーに限定しないデータはどこに入れればよいですか?
90:nobodyさん
12/07/27 22:35:33.49
>>89
分からないなら本を読みなさい
91:nobodyさん
12/07/27 23:27:44.27
>>89
そんなに量がなくて複雑なもんでなければテキストファイルにでも入れときなさい
92:nobodyさん
12/07/27 23:40:33.05
回答者のみなさま、こんばんは!
93:nobodyさん
12/07/27 23:52:38.04
こんばんわ!
94:nobodyさん
12/07/28 00:05:04.16
最高ですかーーー\(^o^)/
95:nobodyさん
12/07/28 00:17:31.05
最高でぇーーーーす!