08/04/11 06:39:15
【簡易FAQ】 (1/3)
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プログラムとして実行された結果になる。
10. そもそもインストールの時点でうまくいかない
→ 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
3:nobodyさん
08/04/11 06:39:27
【簡易FAQ】 (2/3)
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.を参照
4:nobodyさん
08/04/11 06:39:39
【簡易FAQ】 (3/3)
21. 画像処理一般 or GDの限界
→ ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
→ 好きにしてください
5:nobodyさん
08/04/11 06:39:56
関連リンク
■本家マニュアル 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リンク(smarty.php.net)
■Zend本家 URLリンク(www.zend.com)
■Zend Framework URLリンク(framework.zend.com)
■php | architect URLリンク(www.phparch.com)
■Smartyマニュアル URLリンク(smarty.php.net)
■PECL本家(英語) URLリンク(pecl.php.net)
6:nobodyさん
08/04/11 06:40:31
■過去ログ
【PHP】下らねぇ質問はここに書き込みやがれ 66
スレリンク(php板)
【PHP】下らねぇ質問はここに書き込みやがれ 65
スレリンク(php板)
【PHP】下らねぇ質問はここに書き込みやがれ 64
スレリンク(php板)
【PHP】下らねぇ質問はここに書き込みやがれ 61
スレリンク(php板)
【PHP】下らねぇ質問はここに書き込みやがれ 62
スレリンク(php板)
【PHP】下らねぇ質問はここに書き込みやがれ 61
スレリンク(php板)
【PHP】下らねぇ質問はここに書き込みやがれ 60
スレリンク(php板)
【PHP】下らねぇ質問はここに書き込みやがれ 59
スレリンク(php板)
【PHP】下らねぇ質問はここに書き込みやがれ 58
スレリンク(php板)
【PHP】下らねぇ質問はここに書き込みやがれ 57
スレリンク(php板)
【PHP】下らねぇ質問はここに書き込みやがれ 56
スレリンク(php板)
【PHP】下らねぇ質問はここに書き込みやがれ 55
スレリンク(php板)
7:nobodyさん
08/04/11 06:40:45
■関連スレ
くだすれPHP(超初心者用)3
スレリンク(php板)
PHP関連の書籍 第5版
スレリンク(php板)
【PHP】フレームワーク CakePHP 3ホール目【本命】
スレリンク(php板)
【PHP】 Smarty 隔離スレ 【テンプレート】
スレリンク(php板)
PHP総合雑談スレ
スレリンク(php板)
【PHP】フレームワークについて語るスレ10【総合】
スレリンク(php板)
【PHP】Ethna part.2【国産フレームワーク】
スレリンク(php板)
ZendFramework Part2
スレリンク(php板)
フランチョスとsymfony
スレリンク(php板)
最強のPHPエディタはなに?
スレリンク(php板)
8:nobodyさん
08/04/11 06:41:24
【PHP】PEAR Part3
スレリンク(php板)
【PHP】フレームワーク Akelos
スレリンク(php板)
正規表現道場
スレリンク(php板)
正規表現 part4
スレリンク(tech板)
MySQL 総合 Part13
スレリンク(db板)
Oracle 総合 Session6
スレリンク(db板)
SQLite 6
スレリンク(db板)
Microsoft SQL Server 総合スレ 6
スレリンク(db板)
PostgreSQL Part.5
スレリンク(db板)
データベース
URLリンク(pc11.2ch.net)
9:nobodyさん
08/04/11 09:39:32
乙
10:nobodyさん
08/04/11 09:42:15
はやいけどphp7開発版試してる人居る?
11:nobodyさん
08/04/11 10:28:19
これが正しいテンプレ
まず読め→【PHP マニュアル】URLリンク(www.php.net)
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ xx
URLリンク(pc11.2ch.net)
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
12:nobodyさん
08/04/11 12:09:37 75QSkZRP
以下のフォームのMAX_FILE_SIZEでの制限サイズについて質問です。
<form enctype="multipart/form-data" action="up.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="168000" />
<input name="userfile" type="file" />
<input type="submit" value="ファイルを送信" />
</form>
このフォームから画像を送ったのですが、print_rで結果をみると
Array ( [file] => Array ( [name] => osusume.jpg [type] => image/jpeg [tmp_name] => C:\tmp\phpABC.tmp [error] => 0 [size] => 168001 ) )
というふうにerrorは0がついてます。
htmlで設定するMAX_FILE_SIZEのバイトと、print_rで取得できるsizeは、バイトの計算式が違うのでしょうか?
1KB=1024でMAX_FILE_SIZEを設定したのですが、1024でないのでしょうか?
サーバ側でsize規制はしてるのですが、MAX_FILE_SIZEを指定した場合の挙動を理解したいと思ってます。
どなたかご教授お願いいたします。
13:nobodyさん
08/04/11 13:33:40 34hEX+xz
formに入力された値を
^[0-9]+$
にでチェックしてるのですが、これに「+」も加えるのがどうすればいいのでしょうか?
/*form*/
1) 50
2) 25+25
いずれも通したいのですが。
14:nobodyさん
08/04/11 13:53:58
>>13
^[0-9\+]+$
15:nobodyさん
08/04/11 14:59:11 34hEX+xz
>>14
早速のレスありがとうございます!
今からやってみます~!
16:nobodyさん
08/04/11 15:51:14 icnUZbgw
PDOで、特定のカラムだけ取得して1次元配列で返してほしいときは
fetchColumn()をfetchで回すのと、fetchAll(PDO::fetchColumn)を使うのとどっちが効率良いんだろう?
17:nobodyさん
08/04/11 16:18:38
>>16
質問するときは言葉を選べクズ。
18:nobodyさん
08/04/11 16:19:15
>>16
誘導
くだらない質問でもど偉そうに聞いていいスレ
スレリンク(php板)
19:nobodyさん
08/04/11 17:30:27
>>16
配列を作る必要があるなら fetchAll(PDO::FETCH_COLUMN) でいい。
一度参照したら捨てていい場合や、
メモリ使用量を気にしないといけない場合は逐次 fetchColumn()。
20:nobodyさん
08/04/11 19:58:21 kamEmAKJ
質問があります。
phpでバイナリ形式のファイル(音声ファイル)を処理したいと考えています。
具体的には、バイナリデータを10進数に変換し
特定の箇所を
「10(10進)」→「20(10進)」
などに置き換えた後、再びバイナリ形式に戻して新ファイルとして出力したいです。
現在は、
①bindec()で読み込んだバイナリデータを変換
②処理
③decbin()でバイナリ変換してファイルに出力
としているのですが、
プログラム実行後に出来た音声ファイルを開こうとすると
「予期しないデータを含んでいるか破損している可能性があります」
と表示され開くことができません。
ちなみにテキストエディタで開くと、
元ファイルは文字化けしたような文字がたくさん並んでいるのですが、
実行後のファイルは、0と1のみが無数に表示されてしまいます。
実行後のファイルも化けたような文字がたくさん出てこれば成功するような気もします。
深い知識がないので的外れなところもあるかもしれませんが、
よろしければどなたか教えてください。
よろしくお願いします。
プログラム実行OS:Linux
言語:PHP 4.4.8
音声ファイル再生OS:Windows
です。
21:nobodyさん
08/04/11 20:14:38
>>20
何がやりたいが意味不明だが、そんなことできるわけもなく。
ファイルがおかしくなるのは当たり前。
バイナリエディタに音声ファイルと同じデータを入力して書き出したところで音声ファイルにはならない。
22:nobodyさん
08/04/11 20:15:27
データを、どう読み込んで、どう保持してるか、さらしてみ
23:nobodyさん
08/04/11 20:24:14
>>21
ちゃんとフォーマットさえ守ればできるし。
24:nobodyさん
08/04/11 21:39:38
テキストファイルでひらいてんだろfopenの引数にbいれろ
25:nobodyさん
08/04/11 22:24:57
>>20
bindec() decbin() は基数変換用の関数だ。
バイナリ弄りたかったら ord() chr() や pack() unpack() を使っとけ。
あと確認用にバイナリエディタも用意しとけよ。
26:nobodyさん
08/04/12 02:42:06
fscanfはタブ区切りならちゃんと動くのに
カンマ区切りだと妙な挙動になるのはバグですね
27:nobodyさん
08/04/12 03:16:30
fscanfがおかしいです
28: ◆IiyUHoZM0E
08/04/12 05:53:41 7Xlwa8pI
質問です。
LAMP環境で勉強しながらBBSを作っています。
$hoge = mysql_query("SELECT * FROM tbl");
みたいな文を書いたとき、$hogeの中に入るのはresourceという
ものらしいのですが、このresourceというものがどんなものなのか、
いまいちイメージがつかめません。
どなたか解説していただけないでしょうか?
もしこの質問がデータベース行きの質問だったら、スレ違いすみません。
29:nobodyさん
08/04/12 06:22:25
ざっくり言うと、まだphpで読めないデータの固まりみたいな感じかな
30:nobodyさん
08/04/12 09:17:11
ただのIDじゃねえの?
31:nobodyさん
08/04/12 13:21:32
arr
32:nobodyさん
08/04/12 14:40:23
>>28
実際にはリソースIDがはいってるが、概念的にはDBからの結果が入ってるって事じゃないの
33:nobodyさん
08/04/12 14:44:24
mysql_queryの返り値に結果なんて入ってねぇよw
34:nobodyさん
08/04/12 14:50:46
fopenの$fpのようなもの
35:nobodyさん
08/04/12 15:17:48
返り値じゃなく戻り値に統一してください。マニュアルも書き直してください。
36:nobodyさん
08/04/12 15:26:42
返り血はいかんよ
37:nobodyさん
08/04/12 15:52:39
モド・リッチ
38:nobodyさん
08/04/12 16:04:06
>>33
だから概念だと言っているんだけど。
違うなら違うでいいけど、俺の理解を書いただけ。
39:nobodyさん
08/04/12 16:08:49
概念でも違うわボケw
40:nobodyさん
08/04/12 16:19:05
そうか、ありがとう勉強になった
41:nobodyさん
08/04/12 16:22:01
リソースを参照するためのIDが返ってくる、が正解。
42:nobodyさん
08/04/12 16:23:20
俺の概念ではPHPはプチエッチなピクチャーです。
違うなら違うで良いけど、俺の理解はそうなんです。
43:nobodyさん
08/04/12 16:28:06
>>32と>>41の違いは用語だけのような気がするけど。
根本的にどこが間違っているの?
44:nobodyさん
08/04/12 16:38:27
_n_n
_/ィV"Vj
/Oィ(゚Д)
〈 <`ー"^"^i だからカイマンだと言っているんだけど。
rシ つ三づ
i\rシ ノ三ノ
ヾ__イ_)シ_)
45:28 ◆IiyUHoZM0E
08/04/12 16:54:45
28で質問したものです。
$hogeの中には実際のデータの塊とかが入るのではなくて、
mysql内のデータを参照するためのポインタのようなものが
入っている、という解釈でよろしいでしょうか?
46:nobodyさん
08/04/12 16:55:26
レンタルビデオ屋でカード式のとこがあるだろ、
カードを持ってレジのお姉さんに渡すとビデオ本体を奥からもってくるとこ、
つまり
ID :カード
リソース:ビデオ本体
に例えろ、IDそのものには何の価値もないのだ、
くれぐれもパッケージと中身の違いに騙されるな。
47:nobodyさん
08/04/12 17:10:55
キャバクラの店頭に飾ってる写真と同じか
48:名無しさん@アイコンいっぱい。
08/04/12 19:26:42 QH24pWr1
アフィリエイターはなぜ3ヶ月でやめるのか?
URLリンク(kakitarou.com)
49:nobodyさん
08/04/12 19:31:23
>>45
そう
50:nobodyさん
08/04/12 19:46:20
>>48
書き方がいつも同じでワロタ
一ページで構成、文章長い。
途中に体験談が出てきて、
最後に、金額。
51:nobodyさん
08/04/12 20:00:26
でいつまでも値下げ
52:nobodyさん
08/04/12 20:57:30
SQL書くのマンドクセからフレームワークの使い方覚えたけど
結局複雑なリレーションはSQL書かないといけないのね、イヤン!
53:nobodyさん
08/04/12 20:59:17
SQLのほうが楽でいいじゃん
54:nobodyさん
08/04/12 21:10:36 pm7T1kPT
PHPでSQL文意識せずにクエリ作れるライブラリってどんなのがあるの?
55:nobodyさん
08/04/12 21:17:35
意識しろ
56:nobodyさん
08/04/12 21:49:43
感じろよ
57:nobodyさん
08/04/12 22:07:14
getdate()['year']って書けないのは何の嫌がらせなの?
58:nobodyさん
08/04/12 22:10:44
まぁ確かにPHPらしくないわな
59:nobodyさん
08/04/12 22:12:18
'functionHoge'()
これもだよな
60:54
08/04/12 22:22:06 pm7T1kPT
悪かった、SQL文をただ意識するだけなら構わない。
だが生のSQL文を弄れてしまうとSQLインジェクションの知識が必須になってしまうから
そこをライブラリ側で隠蔽化してやってくれるもので、なるべく独立したライブラリってないの?
61:nobodyさん
08/04/12 22:29:36
>>60
つプレースホルダ
62:nobodyさん
08/04/12 23:11:19
>>61
lol
63:54
08/04/12 23:31:51 pm7T1kPT
>>61
あ、なるほと、プレースホルダって何なのか今理解した。
PDOってのを使ってprepareではユーザ入力値を入れないようにすれば良いわけか。
何かこれ常識なことを質問してしまったみたいだな。皆ごめん、どうもありがとう。
64:nobodyさん
08/04/12 23:36:36
てかSQLインジェクションの知識もなしでよくシステム作る気になれるね。
損害賠償くらわないようにね。
65:nobodyさん
08/04/12 23:55:06
損害賠償については皆が皆仕事のWebプログラム書いてるわけじゃないし。
末端プログラマが皆セキュリティ技術者では居られないし。
公表されたセキュリティ問題に低リスク/コストで対応するためにライブラリを使うんだし。
66:nobodyさん
08/04/13 00:12:05
末端でもSQLインジェクションは解ってないといけないと思います。webプログラム書くなら。
個人的にはむしろ、入門書でも最初に教えるぐらいしないと。と、思う。
67:nobodyさん
08/04/13 00:22:36
SQLインジェクション知らない
↓
ライブラリ使って楽しよう
とかいろんな意味で終わってる(笑)
68:nobodyさん
08/04/13 01:26:09
なんか意図せず極論になってしまってる気がするので物申したいんだけど、
SQLインジェクションにおいて新しい攻撃法が今後発見されることは100%ないの?
セキュリティ技術者ってのは最新の攻撃を常に把握してるよね、それが仕事だもん。
でもプログラムを書いたらその後運営には携わらない末端プログラマは居るでしょ。
そしてそのプログラマは当時のSQLインジェクションの知識で自前でサニタイズしていたら。
つまり「解っている」というのが、その時点についてのみではダメってことでしょ。
これを名の知れたライブラリと一般化したサニタイズ手法を使って文書として残しておけば、
保守として全てを理解していなければならないプログラマは不要であり、
かつ必要な最低限のセキュリティのチェックは可能になるでしょ。
俺はWebの仕事はやったことないからズレてること言ってるのかも知れないけど、
殆どの仕事はASP的な形態で同じプログラマがずっと関われるようなものなの?
69:nobodyさん
08/04/13 03:26:06
実用上はライブラリ通せば無問題だが、
概念上それくらい常識として知っておけ、
ってことじゃねーの?
70:nobodyさん
08/04/13 03:34:36
>>68
現実にそれが可能ならセキュリティ技術者なんて要らんわな
夢から覚めなさい
71:nobodyさん
08/04/13 03:54:16 bEpE13Rl
アップロードして保存されたファイルのその保存日を判別する方法ありますか?
ただし、画像ファイル名に保存日を書き込めないとします(20080413.jpgなどはダメ)
phpの関数でそんなのあるんでしょうか?
一定期間が過ぎたら削除する処理に利用したいと思っています
72:nobodyさん
08/04/13 04:24:29 hN58mjIP
毎朝6時以降、最初のアクセスでデータを更新するプログラムを作っています。
(クーロンを使えというのはなしで)
前回のデータ取得はキャッシュされていて更新時間は変数として使えます。
現在の日付時間、デーの更新時間、毎朝6時
これらをどう組み合わせて計算すればいいでしょうか?頭がこんがらがってしまいました(?_?)
よろしくお願いします。
73:nobodyさん
08/04/13 05:23:53
filemtime
if(date(更新時間-6時間)<date(今-6時間)){
74:nobodyさん
08/04/13 05:27:15
×date
○mktime
orz
75:nobodyさん
08/04/13 05:37:33
"6時間"じゃなくね?
>>72
宿題か?
デーの更新時間に日付が入ってないなら無理だ
頑張れ
76:nobodyさん
08/04/13 05:51:50 hN58mjIP
デーの更新時間はタイムスタンプなので日付に変換できます^^;
6時間じゃなくて朝6時です
6時以降の最初のアクセスをトリガーとして作動させたいのです
77:nobodyさん
08/04/13 06:49:43
if(更新日時 < 前日朝6時 or 更新時 < 朝6時 and 現在時 >= 朝6時) 更新;
78:nobodyさん
08/04/13 07:50:58
意外と難しいなw
>>77
これだと前々日の場合が駄目じゃね
毎日アクセスがあるとは限らない場合を想定すれば
79:nobodyさん
08/04/13 08:06:52
更新日時 < 前日朝6時 の所が2日前や1週間前もカバーしてるような?
入ってるデータが全部タイムスタンプなら>>77でよさそうだけど、寝起きだから自信ないな
80:nobodyさん
08/04/13 08:54:53 y9NKt7wS
PHPでサーバ上のセッションを全て廃棄する方法はありませんか?
(現在のセッションの、全てのセッションデータの廃棄ではありません)
マニュアルを見た感じではみつかりません。
URLリンク(jp2.php.net)
具体的には、PHPのプログラムを更新する場合に、その前からのセッションが生きてるのは、嫌だなぁって事なんですが。
PHPは5.2 使ってます。
81:nobodyさん
08/04/13 09:16:12
>>80
session.nameを変えるとか。
session.save_pathを変えるとか。
82:nobodyさん
08/04/13 09:25:53 y9NKt7wS
>>81
なるほど。
session.nameはPHP_INI_ALLだから session_startより前で設定すればできそうですね。
ありがとうございました。
83:nobodyさん
08/04/13 09:52:09 /FusEZA8
毎時間処理させるにはどうすればいいですか?
84:nobodyさん
08/04/13 09:53:02
>>83
cron
85:nobodyさん
08/04/13 10:05:23
>>83
手動
86:83
08/04/13 10:09:53 /FusEZA8
>>84-85
ありがとうございます。
cronについて調べてみましたが、いまいち使用方法がわかりません。
簡単なサンプルを示していただけませんか?
(1時間ごとにtest.PHPを呼び出す例など)
使用しているサーバはoroti.comのw8サーバです。
URLリンク(www.abcoroti.com)
87:nobodyさん
08/04/13 10:41:22
>>83
右手
88:nobodyさん
08/04/13 10:43:16
>>86
読んでないけど、クーロソが使えると言うならば、鯖屋の指示通りに
設定すればいいだけ
(本来は鯖の設定ファイルを書き換えるようなのだから、それなりの権限がなければできない)
使えなければ、前に出てたアクセスをトリガー
(アクセスがあったら、それを契機に)スクリプトで処理するという方法で解決
89:nobodyさん
08/04/13 10:43:55
>_
90:nobodyさん
08/04/13 10:46:12
>>86
どの程度まで調べたの?
91:nobodyさん
08/04/13 12:13:21
サウンドハウス事件は何故おきたのか検証してみないか?
92:nobodyさん
08/04/13 12:57:13
今日からPHP始める。
でっていうwww
93:83
08/04/13 13:02:10 /FusEZA8
>>87-91
ありがとうございます。
質問板にてcronに関するスレを発見しました。
質問者:cronは使えまか?
管理人:cronつかえますよ。
cronに関するスレはこれだけで、鮎の方にも設定方法が紹介されていませんでした。
この場合どうすればいいでしょうか?
htaccessみたいなかんじで毎時間処理するよう記述したファイルをUP
するんですか?
94:nobodyさん
08/04/13 13:14:28
simplexmlって名前空間つきの要素へのアクセスはどうすればいいの?
xpath使えって話?
95:nobodyさん
08/04/13 13:22:57 /XYVoWCv
PHPにて、
PEAR::Image_Graph(オープンソース)を使用して
円グラフを作成しています。
マーカー部分に、"項目名 XX%"の用に表示させたいと思っています。
項目名を表示する方法をわかる方がいれば教えてもらえないでしょうか?
PHPとは少し違いますがお願いします。
96:nobodyさん
08/04/13 13:28:26
最近Image_Graphの質問が立て続けに出てるが同一人物か?
いい加減PEARはスレ違いだっつうの
97:nobodyさん
08/04/13 13:37:47
時間処理の質問見てて思いついたのだが、
任意の引数でタイムスタンプ作成する、dateの逆関数みたいなものって無いものかね
mktimeより楽に使えると思うのだがどうか。
$timestamp=inv_date('08年04月13日13時40分','y年m月d日H時i分');
みたいな
98:nobodyさん
08/04/13 13:41:24
当然あるわボケ
99:nobodyさん
08/04/13 13:48:35
>>91
HACKER SAFE使ってたって書いてあるけど、
ああいう外部からのチェックサービスって
結局CGIプログラムのソースコードは見ないんだろうから、
その中にある脆弱性には甘いんだと思うよ。
色んなサービスを動かすサーバ建てて、
その中に脆弱性のあるバージョンや機能が無いか調べるには良いと思うけど。
100:nobodyさん
08/04/13 14:55:35 /XYVoWCv
>>96
すみませんでした。
101:nobodyさん
08/04/13 16:58:04 mSGmcBg3
質問です。
たとえば、数十個のディレクトリ名を定数として利用する場合、配列でなくdefineでも問題ないと思いますが、
状態遷移に必要な情報を管理する多次元の配列の定数が必要な場合、どのようにするのがベターなのでしょうか?
・グローバルなところに変数として置く(現在はこの考えを利用)
・オブジェクト定数で管理
・XML/YAMLなどでデータ分離
あたりが思いつくのですが、常套手段などがあったらご教授お願いします。
102:72
08/04/13 17:59:49
>>73-79
ありがとうございます
明日の6時になったら動作するか確認してみます
103:nobodyさん
08/04/13 18:29:39 cn35Eo4d
20で質問した者です。
ord()とchr()を使用することでバイナリの扱いを解決することができました。
答えてくださった方々、ありがとうございます。
もうひとつ質問なのですが、phpの配列の要素数に上限はあるのでしょうか?
要素数が100000くらいのときはプログラムが正常に動くのですが、
要素数が1000000くらいになると途中でプログラムが止まってしまいます。
どなたかご存知であれば教えてください。
お願いします。
104:nobodyさん
08/04/13 18:56:04 cn35Eo4d
103です。
追記します。
このようなプログラムを組んでおり、
容量が1MBを超えるようなファイルだとプログラムが途中で止まります。
$fno = fopen("sample.mp3", 'rb');
while (!feof($fno)) {
$data[] = fread($fno, 1);
}
fclose($fno);
105:nobodyさん
08/04/13 19:33:29
>>104
[PHP] 配列に値を入れていくとエラーになりプログラムが落ちます。
URLリンク(q.hatena.ne.jp)
と同じ現象じゃないかな。
つまりPHPスクリプト一つに許可されている使用メモリ量をオーバーしているんだと思うよ。
デフォルトでは8MBか16MBに設定されているらしいのに、
たった1Mのファイルでオーバーしちゃうなんておかしいと思われるかも知れないけど、
PHPは配列の要素毎にも変数の型を持っているだろうから、余計にメモリを食っちゃうんだろうね。
単純に読み込んだデータにバイト単位でアクセスしたいのなら、
$data = fread($fno, filesize("sample.mp3"));
として一つの変数へ一気に読んじゃえば、配列と同じに$data[0]って感じで読めるんじゃない?
上のは試してないから嘘かもしれないけど。
106:nobodyさん
08/04/13 21:43:31 RGnLfYK/
phpgroupwareを入れたら下記のエラーが出てしまいました
NOTE: You must have cookies enabled to use setup and header admin!*
ブラウザ側ではクッキーは有効にしてるんですが・・・・どうすればいいでしょう?
107:nobodyさん
08/04/14 00:14:07
このindex.cgiがエラーがでるんですが修正できますか?(属性755)
URLリンク(www.borujoa.org)
108:nobodyさん
08/04/14 00:42:56
そんな餌で(ry
109:nobodyさん
08/04/14 00:46:10
fscanfがおかしいですだって?
110:nobodyさん
08/04/14 04:32:32
>>98
教えてくれ
111:nobodyさん
08/04/14 07:07:30
>>110
>>1
112:nobodyさん
08/04/14 11:41:38 6hAyd3lA
浮動小数点を表示すると、元の数値によって指数形式になったり
ならなかったりします。どういうルールで変換されているんでしょうか。
php -n -r "print(floatval(1100000));" → 1100000 が表示される。
php -n -r "print(floatval(1200000));" → 1.2E+6 が表示される。
php -n -r "print(floatval(1300000));" → 1300000 が表示される。
php -n -r "print(floatval(1300000));" → 1.4E+6 が表示される。
php -n -r "print(floatval(1500000));" → 1500000 が表示される。
環境は以下の通りです。
$ php --version
PHP 5.2.5 (cli) (built: Mar 3 2008 14:30:26)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
with eAccelerator v0.9.5.2, Copyright (c) 2004-2006 eAccelerator, by eAccelerator
with Xdebug v2.0.2, Copyright (c) 2002-2007, by Derick Rethans
OS:Windows XP SP2
113:nobodyさん
08/04/14 14:26:42
すごくくだらない質問ですが、教えて下さい。
PHP5に元から入っているSQLiteのバージョンは2ですよね?
これを、バージョン3にしたいのですがインストールがいまいち分かりません。
環境は、WinXP Apache2 PHP5 です。
DB板に書くべきか悩みましたが、
PHP関係なのでこちらに書きました。
114:nobodyさん
08/04/14 14:39:54
SQLite3はPDOでされます。
115:nobodyさん
08/04/14 15:31:07
>>114
日本語でおk
116:nobodyさん
08/04/14 17:23:23
えすきゅうらいとさんはぴーでぃーおでされます。
117:nobodyさん
08/04/14 18:17:04
質問です。
PHPを記述しているページのアドレスをhttp://○○.phpではなく
http://○○.htmlまたは.php以外のモノにしたいのですが
やりかたが分かりません。
PHPを使っていると思われるサイトでも
アドレスが、http://○○.htmlとなっているのを見かけるのですが
どうやっているのでしょうか?
知っている方がいましたら教えてください。
118:nobodyさん
08/04/14 18:24:35
>>117
htaccessのAdd-Type
119:nobodyさん
08/04/14 18:47:51
htaccessでリネーム?するんですね。
検索してやり方を調べてみます。ありがとうございました。
120:nobodyさん
08/04/14 19:11:38
リネームじゃない
Apacheに拡張子htmlをPHPとして動かすように指示するだけ
Add-Type application/x-httpd-php .html
とかにすれば拡張子htmlのものがApacheでPHPとして扱われる
まぁこれ以上は板違いなんで
.htaccessについて深く知りたければWeb制作板へどうぞ
121:nobodyさん
08/04/14 19:42:46
その昔、
拡張子phpを使いたいという理由だけでPHPを始めた俺が来ましたよ
(突っ込みは無用)
アドレスが*.phpなのがオサレなんだと思ってた時期もありました
122:nobodyさん
08/04/15 00:26:29
>>112
それってPHPじゃなくてもなるんじゃなかったっけ。
CPUに詳しい人に聞いた方が良いと思う。
123:すのっぶ
08/04/15 02:01:01 LJ3oHWbN
php限定という訳じゃなくてすいません。
md5だと32桁の16進数値になりますが、大文字小文字を区別した表示でもっと短いhashはどのようなものがありますか?
ある携帯サイトで送られてくるメールのURLにそれらしきものがあり、「RJgYbxmTqnN5」という表記でした。
124:nobodyさん
08/04/15 02:04:11
よ
125:nobodyさん
08/04/15 02:12:30
それはbase64では
126:nobodyさん
08/04/15 02:38:46
crypt
127:nobodyさん
08/04/15 07:42:07 LJ3oHWbN
URLリンク(jp.php.net)
crypt だった。サンクス > 126
ちょっと古いサーバで試したんだけど、salt を指定しない場合、「$1$Qgv55ZYN$likCiswhSgaLSaWdJeObY.
」とかで、しかも毎回内容が変わってた。これはこれで役にたつものなの?どうやってパスワードチェックするんだろう。
ちなみにそのサーバの定数値は以下
CRYPT_SALT_LENGTH 12
CRYPT_STD_DES 1
CRYPT_EXT_DES 0
CRYPT_MD5 1
CRYPT_BLOWFISH 0
OS REDHAT 9
128:nobodyさん
08/04/15 09:26:21
指定されないソルトは乱数で生成されるから、それは正しい。
パスワードのチェックの時は、ソルトを読み取ってから
入力されたパスワードのハッシュを計算する
つ man 3 crypt
129:nobodyさん
08/04/15 14:10:49
ログ解析ソフトってあるじゃないですか。
あれの滞在時間とか、直帰率とか、再訪とか、
ああいうのの開発手法について、概要でも良いので
説明しているサイトをご存じないですか?
ググっても、ASPとかWeb屋とかが出てくるばかりで・・・・
130:nobodyさん
08/04/15 14:31:23
>>129
だいたいどういうことすればできるかイメージつくだろ。
クッキー、セッション、リファラーetc
それすらイメージできないうちは作れるレベルにないということ。
131:nobodyさん
08/04/15 14:43:24 tEWEzoyO
URLリンク(jp.php.net)
imapでpop3サーバーにつないで、読んだメッセージをDBにしまい
ごにょごにょしようかと思ってるのですが、
メッセージを既読にするにはどうしたらよいのでしょうか?
imap_setflag_full()
はimapでつないだ時だけ見たいだし、
imap_body()
に「既読フラグをたてないオプション」みたいのがあるので、読めば自動的に立つのかと思ったけど
だめっぽいです。
立てられないと、毎回すごい数のメールを見に行かなきゃならないのでちょっと現実的じゃないかなと。
わかりましたらお願いします。
132:nobodyさん
08/04/15 14:47:25
>>130
ログは取ってるんですよ。
IPアドレスとかUAとか、アクセス時刻とか。
それらをどういうふうにデータとして加工・保存していけばいいかのヒントになるようなものがあればということです
書き方が悪かったですね。スマソ
133:nobodyさん
08/04/15 15:31:02
藻前の望みをリストアップして1時間眺めれば判る。
134:nobodyさん
08/04/15 15:43:29 6h+mXfU6
うんかー02(urlつきだと書き込めないので省略)っていう2ちゃんねるビューワー機能のサイトがあるんだけど、
人大杉の板を.dat直読みさせることで、表示を可能にしてるらしい
.datがどこにあるか教えてください
例えば、ここのスレ スレリンク(php板) の.datってどこでしょうか
135:nobodyさん
08/04/15 15:49:37
アクセス毎に10MBぐらいのファイルの読み書きするのって負荷かかりますか?
あまり詳しくないのですがDB使う場合とファイルをそのまま読み書きするのでは
やっぱ違いますか
136:nobodyさん
08/04/15 16:02:39
>アクセス毎に10MBぐらいのファイルの読み書きするのって負荷かかりますか?
なんでこんな糞システムになるのか理解できないが改善できるなら改善してくれ
じゃないと色んなところに迷惑がかかる
アクセス数が1日数件なら問題ないけど
>DB使う場合とファイルをそのまま読み書きするのではやっぱ違いますか
違う
扱うデータ件数が多ければ多いほどDBのほうが有利
137:nobodyさん
08/04/15 16:19:15
10MBぐらいのファイルじゃわからんな。
10MBのログに吐き出すだけならデータベースよりも軽石。
138:135
08/04/15 16:28:06
レスどうもです
ちょっと説明不足でした
プログラムファイルが10MBというわけではなく読み書きするデータファイルが10MBあるということです
最初は0でだんだんたまっていくという仕組みです
cgiで動かしていたのですが10MBぐらいで鯖の限界がきました
なのでPHPで作り直そうと思い、どのやり方が負荷が少ないかということで聞いてみました
やはりDBの方がいいのでしょうか
139:nobodyさん
08/04/15 16:51:25
鯖の限界っていうのがどういうことかわからないけど
おそらく使用可能なメモリが足りてないんでしょ?
だとするとcgiがだめでphpなら平気そうとかそういうレベルじゃないような気がする
特にPHPやPerlでWebプログラム組んでる人は特段意識しないだろうけど
扱うファイルが膨大となるとメモリ管理を効率よくおこなうプログラムを意識しないとだめだと思う
全てを配列に読み込むとかしただけでも相当メモリ使用量が増えるから
というわけでどういうものなのか想像できないのでなんともいえないけど
プログラム側の設計とファイルの扱い方についてを根本的に変えないといけないと思う
140:nobodyさん
08/04/15 17:09:48
このindex.cgiがエラーがでるんですが修正できますか?(属性755)
URLリンク(www.filebank.co.jp)
141:nobodyさん
08/04/15 17:24:26
>>138
別にログにレコード追記するだけなら別に10Mが100Mでも遅くならんだろう。
ただまぁ、段々増えると言っている割りに、読み書きと言っているし、
なんとなく、file()とかで読み込んで...とか考えてそうだから素直にDBを使った方がいいね。
違ったらごめんよ
142:nobodyさん
08/04/15 17:41:39
アクセスログか何か?
配列に読み込んで追加して・・・とかやってるんなら追記モードでオープンすれば問題ないでしょ。
とりあえずもっと詳細な情報がないと何とも言えない。
>>136
データ件数が少なくてもリレーションや制約,データ構造のためにDB使う意味はあるよ。
143:nobodyさん
08/04/15 19:53:03
$binstr = "0x71,0x8E,0x01,0x00,0x00,0x00,0x00,・・・";
こんなデータの並びをバイナリにして、ブラウザからダウンロードさせたいと考えて
いるのですが上手くいきません。どなたアドバイスして頂けないでしょうか?
以下失敗例です・・・
$binarr = split(",", $binstr);
$bin = "";
for ($i=0; $i<count($binarr); $i++) {
$bin.= pack("c", $binarr[$i]);
}
header("Content-Type:application/octet-stream");
echo $bin;
exit();
144:nobodyさん
08/04/15 20:12:25
自己解決しました・・・
$bin.= pack("c", $binarr[$i]);
↓
$bin.= pack("c", hexdec($binarr[$i]));
ん~しかしpackの説明のとこで0xXXって感じで渡してるのに
なぜこれで上手くいったのかいまいち納得できず・・・
145:nobodyさん
08/04/15 20:38:20
HTTP_RequestでsetBasicAuth使わない場合は、
getResponseBodyでちゃんと返ってくるんだけど、
setBasicAuth使う&setMethod(HTTP_REQUEST_METHOD_POST)
すると
getResponseBodyしても何も文字列が返らない。
バグか何か?
どなたかご存じないですか?
146:145
08/04/15 20:39:06
ちなみに
setMethod(HTTP_REQUEST_METHOD_GET)
なら問題ありませんでした。
147:nobodyさん
08/04/15 21:11:59
変数に入ってる文字列を数式として評価できるのってevalだけですか?
$a="1+2";
とかがあったら3にしたいだけなんですが
148:nobodyさん
08/04/15 22:05:32
ども。
GDのimagecreatefromjpegを使っているのですが、
画像がでかいと死にます。
普通に死んでくれると問題ないんですが、
エラーメッセージも、返り血もなく、いきなり実行が中断されるので、エラートラップもしけません。
問題を回避する方法知ってる人いませんか?
149:nobodyさん
08/04/15 23:57:17
エログ見てみ。
150:nobodyさん
08/04/16 00:16:21
いつも見てますよエロゲ
151:nobodyさん
08/04/16 08:11:13 1M88tLAK
JpGraphで画像を出力したのですがどういうわけか携帯では見れません
もちろん画像形式はgifにしました
PCでは当然見れますし保存すると拡張子もgifです
考えられるのはキャッシュ化したファイルにはpngとなっているのですが
ダウンロードしてみると中身はちゃんとgifです。
どうすればいいでしょうか
152:nobodyさん
08/04/16 09:39:16
>>148
メモリーが足りてないんだろう。
memory_limitの値とかチェック。
あと、imagecreatefromjpegの前にファイルサイズとかチェックしろ。
153:151
08/04/16 10:28:41
自己解決しますた
154:nobodyさん
08/04/16 11:27:50 DHAOt7zZ
Dynamic EXtensionってなんですか?
これの設定がよくわかりません。
postgresqlやいろいろ入れていった場合
追加していけばいいのでしょうか?
155:nobodyさん
08/04/16 12:19:19 xAJOe1B+
関数の中でcookieを使うにはどうしたらいいのでしょうか?
下記のようにしているのですが、クッキーが有効となりません。
function cookieTest(){
if($_COOKIE["test"]<>"on"){
クッキーがない場合の処理
}
setcookie("test","on",time()+30);
}
156:nobodyさん
08/04/16 13:05:55
引数で渡す
157:nobodyさん
08/04/16 13:12:39 KGnhrG4i
.htmlの拡張子をphpファイルとして実行したいのですが、
.htaccessの
AddType application/x-httpd-php .htm .html
以外のやり方で、デフォルトで.htmlをphpファイルとして実行する方法はないでしょうか?
よろしくお願いします。
158:nobodyさん
08/04/16 13:16:48
httpd.conf(笑
159:nobodyさん
08/04/16 13:17:54
.htaccessも弄れないようなところで拡張子を誤魔化したいってのに不正のにほいがぷんぷんする。
160:nobodyさん
08/04/16 13:46:10
>>157
そんなにいやならフレームでも使ってろ
見た目はhtmlだろ
161:157
08/04/16 13:56:24 KGnhrG4i
>>160
いえ、ローカルのテストサーバ―として利用しているので、嫌とかではないんですが
毎回ディレクトリごとに.htaccessを設置するよりも、デフォルトで設定しておきたいのです。
AddType application/x-httpd-php .htm .html
これをhttpd.confに記述すればいいんでしょうか?
162:nobodyさん
08/04/16 14:05:29
>>161
>ディレクトリごとに
ルートに1つ置いとけばいいだろ
>これをhttpd.confに記述すればいいんでしょうか?
YES
まぁスレ違いもいいところだぜ・・・
163:nobodyさん
08/04/16 14:06:46
テストとして使ってるだけなら拡張子にこだわってるのはおかしいだろ。
164:131
08/04/16 14:11:58 QC7Y4msP
imap_setflag_full()
でフラグは立っていたみたいです。
imap_headerinfo()
で見ると、実際変わっていました。
しかし、imap_checkで変えるrecentの数や、
imap_searchでの検索でも、フラグが立っているとみなされません。
\\Flaggedをたてて、 UNFLAGGEDなんかでimap_searchしてみても
全権引っかかってしまいます。
From "hoge@hogehoge"
なんかで検索すると、うまく見つられてるようです。
常に1000件くらいメールがあるので、全部に対して処理をすると、読みこんで
メール解析したオブジェクト組み立てるだけで15秒~30秒かかります。
DBに登録して・・・と考えると、ぜひ、新しいメールだけに処理をしたいのですが
なにか方法ありますでしょうか?
お願いいたします。
165:nobodyさん
08/04/16 14:32:44 KGnhrG4i
>>162
ありがとうございました
166:nobodyさん
08/04/16 14:36:42 pyqKRshm
>>155
$_COOKIEはグローバル変数だよ?
167:nobodyさん
08/04/16 14:41:52 pyqKRshm
>>155
あーわかった。それはクッキーに値が入ってない。
CやperlとかでCGI経験がないと、httpプロトコルが分らないから
クッキーはヘッダーで渡されているというのが分らないんだよね。
つまり、本文(html)を出力した後にクッキーは送出できないんだけど、
ここを理解しないと、今後同じデバッグに苦しむことになるよ。
解決策は、本文の前にsetcookieを呼ぶこと。
実装上のコツはノウハウだから、ケースバイケースでアドバイスが変わるよ。
168:nobodyさん
08/04/16 14:51:35
配列の最後の値をとりたいのですがそんな関数ありますでしょうか?
配列にいくつ値があるかはそのつど変わります。
以下のようにはできるのですが、もっと簡単な方法がありましたらよろしくお願いいたします。
$data = array('hoge','foo','fuga'...'bumobumo');
$str = $data[count($data)-1];
169:nobodyさん
08/04/16 15:02:38
>>168
ぱっと思い出せないけど、あるよ。
170:nobodyさん
08/04/16 15:06:13
>>168
$data[-1] を思い出してしまったたけど、end() があるよ。
171:nobodyさん
08/04/16 17:08:09
どなたかコレの使い方を教えていただけませんか?
AutoIndex PHP Script
URLリンク(www.moongift.jp)
どこで聞けばよいのか迷ったのですが、phpですのでこちらに書き込ませていただきました。
疑問点はこれを使う場合のディリクトリ構成です。
(AutoIndexフォルダ内に一覧表示したいものを入れるのか、その逆か)
また、必要があれば設定ファイルの変更箇所や、パーミッションの設定、アクセス制限の方法等も教えてください。
宜しくお願いします。
172:171
08/04/16 17:24:04
自己解決しました
173:nobodyさん
08/04/16 17:30:39
XML関係の関数について詳しく書かれた本/サイトを教えてください。
174:nobodyさん
08/04/16 17:36:18
>>171
ここで訊けばよいです。
URLリンク(autoindex.sourceforge.net)
175:nobodyさん
08/04/16 17:45:21
>>173
URLリンク(www.php.net)
176:nobodyさん
08/04/16 19:01:43
>>173
URLリンク(www.amazon.co.jp)とかいいんじゃないの?
177:173
08/04/16 19:16:54
>>175
マニュアル見ても訳が分からない・・・
178:nobodyさん
08/04/16 19:30:51
>>177
関数についてそこ以上に詳しく書かれたサイトは無いぞ.
メニューを上げれば他の関連モジュールもあるが。
URLリンク(jp.php.net)
179:nobodyさん
08/04/16 19:35:05
>>172で171を名乗っているのは別人です。
なので、完全には自己解決していませんが、>>174さんに教えていただいたフォーラムなどを参考に
ある程度進むことが出来ました。
一覧表示したいものがあるフォルダに、AutoIndexの内容物(index.phpなど)を入れたところ一覧表示されたのですが、
ユーザー名とパスワードによるアクセス規制がいまいちよく分りません。
初回動作で表示される設定画面で、「use_login_system」を「TRUE」にしたところまでは良いのですが、
どうやらそれに関係なく、誰でもファイルにアクセス出来る状態になってしまいます。
ユーザー名とパスワードを設定する.htpasswd.autoindexへの記述も、デフォルトで暗号化されているため
どうやってIDとパスを生成するのかもわかりません。
どなたかご教授願います。
180:154です。
08/04/16 19:35:21 DHAOt7zZ
だれか154の質問に答えてください。
よろしくお願いします
181:171
08/04/16 19:51:41
>>179
なんで私を名乗るんですか?
自己解決済みです。お騒がせしました。
182:nobodyさん
08/04/16 20:04:44
>>154
本当にDynamicに(実行時に)エクステンションをロードする必要があれば(って言うかその必要がある場面がわからんぞ)
dl関数使ってロードできる(けど使ったことない)。
実行時にロードする必要が無ければ
使いたいエクステンションを所定のフォルダに置いて
php.iniをいぢればOK(これは普通のやり方)
183:nobodyさん
08/04/16 21:09:13
>>147
substrを駆使すれば可能です
184:nobodyさん
08/04/16 22:33:34
>>168
array_pop
>>154
dllの事だろ
extension=php_pgsql.dll
こんな感じでiniに追記
詳しい事は環境がわからないと何とも言えない
185:nobodyさん
08/04/16 22:38:20 JLMZOI/r
PHPがオブジェクト指向になってから全然わかんないです。
関数メインで作っていたのを、今後の為に抽象化レイヤーに
書き換えようと思ってググリました。
$pdo = new PDO('hoge','huga','honya');な場合において
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
と
$pdo->setAttribute(ATTR_ERRMODE,ERRMODE_EXCEPTION);
という表記を見たのですが、これは同じと考えて良いんでしょうか。
::hogeは静的メソッドなので、PDOのオブジェクトのインスタンスである$pdoの中では
多分PDO::を省いても良いって事なんだろうなぁと思うんですが
書き方の習慣として、どちらの書き方が推奨されますでしょうか。
186:nobodyさん
08/04/16 22:46:10
>>185
違う
PDO::ATTR_ERRMODE
これはクラス定数
ATTR_ERRMODE
これだと定数を参照する事になる
187:nobodyさん
08/04/16 22:48:55
>>185
あ、因みにクラスメソッド内での参照の仕方は
self::ATTR_ERRMODE
って感じになる
詳しくはここらあたりかな・・・
URLリンク(jp.php.net)
188:nobodyさん
08/04/16 23:05:09
>>185
おいおいおい・・・なぜ憶測でコードを書こうとする。他言語でOOPの経験があるわけでもないようだし。
ちゃんとマニュアルに書いてあることだから言語仕様で疑問に思うことがあったらこんなとこで聞く前に即参照しなされ。
189:nobodyさん
08/04/16 23:19:55
>>186-187
理解できました。
ありがとうございます。
グローバル定数のPDO_ATTR_ERRMODEが5.1まで使用されていたけれど
今後はどんどんPHPを拡張していくから、グローバル定数増やすの嫌だから
PDO::ATTR_ERRMODEの様にクラスで定義されてる定数で呼び出してくれって事ですね。
190:nobodyさん
08/04/16 23:25:36
>>188
php.netのクラスの部分は読んだんですけど
他言語でOOPの経験っていうか、特にJAVAの経験がないから
クラスの部分の説明が全然わかんないんですよ。
聞いても良いじゃないですか。
勉強してるだけで別に壊れて危険な物は作ったり公開してる訳じゃないんで
かっかしないでくださいよ。
191:nobodyさん
08/04/17 00:26:56
かっかじゃないよ。呆れてるんだよ。
192:nobodyさん
08/04/17 01:00:13
>>190
だったらJavaやってこいよ
PHPがOOPに対応してるのはJavaからの移行者のため
PHPしかやらないような人間が無理してOOPする必要はない
PDOは確かに便利だが使い方わからないならネイティブ関数使うとか他に方法はある
そんなにクラスを理解したいなら先にJavaのサイトまわってこいよ
OOPのプログラム手法でわからないとこの質問ならまだしも
OOP教えてくれっていうのはお門違いだろ
手取り足取り教えてやる義理はない
193:nobodyさん
08/04/17 02:10:19
.ni 7 .M
l^l | | l ,/) | i| _/\/\/\/\/\/\_
', U ! レ' / / ̄ ̄ ヽ, \ /
/ 〈 / ', .n < こっこしないでくださいよ >
ヽっ{゚} /¨`ヽ {゚}, l^l.| | /) / \
/´ ̄ ̄ .l ヽ._.イl ', | U レ'//)  ̄|/\/\/\/\/\/\/\/ ̄
/ ィ-r--ノ ヘ_/ノ ', ノ /
,/ |! | ヽ rニ |
丿' W ヽ、 `ヽ l
. !/ ヽ、 | |
194:nobodyさん
08/04/17 02:12:07
おまえはOOP言いたいだけちゃうんかと
195:nobodyさん
08/04/17 02:57:25
>>>194
スレリンク(php板)
ほれこっち池
196:nobodyさん
08/04/17 08:49:20 YHuC7Xot
質問なんですが
例えばショップサイトで商品のデータをDBに入れます
それを呼び出すときは **.php?category=01&data=0000
とかで呼び出すわけですよね
それでこの商品の数が膨大になったりアクセスが増えると負荷がかかると思うのですが
どのような対処方があるのでしょうか?
鯖の性能を上げるといっても何がどうなってるのか概念みたいなものがわかりません
おおまかでいいのでご教授ください
197:nobodyさん
08/04/17 09:57:43
加齢に擦るー
198:nobodyさん
08/04/17 11:00:28 M2mwea+h
PHPで書いたWebページからサーバー上のプロセスを起動したいが、
終了するのを待ちたくない場合はどうすりゃいい?
一応execでC++で書いたプログラム(仮にaiueoという名前にする)を起動し、
aiueoの中でfork(), exec()してみた.親プロセス(aiueo)のほうはwaitを
しないで終了すればokかなと思ったら、aiueoがゾンビになって
結局起動した子プロセスが終了しないとwebページを操作できない・・
こーいう場合どうしたらええのん?
199:nobodyさん
08/04/17 11:11:15
>>196
俺の経験則。反論もあるだろうし、信じなくて良い。
まずJOINを一つも無くす。その状態で並び替え条件にインデックスを張る。
そして一つのテーブルをシーケンシャルに検索する。
これはパフォーマンスをあげるための方法、
普通の設計ではJOINを無くすなんてことはしない。
むしろ逆。正規化をする。
検索条件にインデックスをはっても良い。
検索条件にインデックスをはることで遅くなることもある。注意。
like検索する所ははっても無意味。
10万件ぐらいならば、それが一番速い。
200:nobodyさん
08/04/17 11:53:39
場合によって「あえて正規化しない」ってのはアリだと思うけど
ドラゴンボール板向けのネタだよなとも思う。
201:nobodyさん
08/04/17 13:43:22 M2mwea+h
>>198
解決.親プロセスと子プロセスの両方で、fclose(stdout)が必要だった.
おさわがせしました
202:nobodyさん
08/04/17 15:08:09 yQIY/Upa
もし、そういった設計をされてる方がいらっしゃいましたら聞きたいのですが、
DBにバイナリ(画像等)を登録するメリットを教えてください。
203:nobodyさん
08/04/17 15:29:12 K4JzsNpf
フレームワークで入門用のものでおすすめありませんか?
シンプルなものからはじめてコード読んで勉強したいと思ってます
204:nobodyさん
08/04/17 15:34:59
すいません。くだらない質問ですが教えて下さい。
いま、無料の掲示板(PHP)を使おうと思っているのですが
googleを入れたく思っています。
表示エリアには
// 表示
echo " <tr><th colspan=¥"2¥" $_class><p class=¥"header_menu¥">$res$edit$del</p>$title</th></tr>¥n";
echo " <tr>¥n";
echo " <td class=¥"t_row1¥">$name<br /><br />$id</td>¥n";
とあり、$IDの後に入れたいと思っています。
入れるgoogleは
<script type="text/javascript"><!--google_ad_client = "pub-11111111111";/* 125x125, 作成済み 08/04/16 */google_ad_slot = "11111111111";google_ad_width = 125;google_ad_height = 125;//-->
</script><script type="text/javascript"src="URLリンク(pagead2.googlesyndication.com)">
</script>
となっております。
その場合どのよう入れれば表示しますでしょうか?
上の行で$で指定する文章を入れるのが良いのでしょうか?
恐れ入りますが、ご教授下さい。
205:nobodyさん
08/04/17 16:00:22
>>204
//表示 の直後に下記の5行
$google = <<<OMAEHAKUDARAN
<script type="text/javascript"><!--google_ad_client = "pub-11111111111";/* 125x125, 作成済み 08/04/16 */google_ad_slot = "11111111111";google_ad_width = 125;google_ad_height = 125;//-->
</script><script type="text/javascript"src="(p)URLリンク(pagead2.googlesyndication.com)">
</script>
OMAEHAKUDARAN;
であとはecho文の入れたいところに$googleを入れる。たとえば
echo " <td class=¥"t_row1¥">$name<br /><br />$id $google</td>¥n";
206:nobodyさん
08/04/17 16:01:34
あ、わりぃ。 rep2でリンクに付く(p)までコピーしてもた。
そこは無視でよろ。
207:nobodyさん
08/04/17 16:09:21
ちょっと酷いよ。
<<<OMAEHAKUDARAN
208:204
08/04/17 16:12:04
やっぱりうそですよね・・・。T_T
209:nobodyさん
08/04/17 16:14:58
いや、あってることはあってるよw
ヒアドキュメントをより先にまず "は\でエスケープすること学ぼう
210:204
08/04/17 16:35:24
やっぱり出来ない。現状
$google = <<<GOOGLE
<script type=¥"text/javascript¥"><!--google_ad_client =¥"pub-1111111111¥";/* 125x125, 作成済み 08/04/16 */google_ad_slot =¥"pub-1111111111¥";google_ad_width = 125;google_ad_height = 125;//-->
</script><script type=¥"text/javascript¥"src=¥"URLリンク(pagead2.googlesyndication.com)">
</script>
GOOGLE;
として入れてるんですが、HTMLはき出した後ソースを見ると円マークが残ったままになっています。本来HTMLにはき出した後のソースは消えていますよね・・・。
やはり初心者にはむりですかね・・・・。
211:nobodyさん
08/04/17 16:44:41
>>210
>205で言われた通りにやろうよ。
ヒアドキュメントに¥でエスケープは要らない
212:204
08/04/17 16:51:44
すいません。
ありがとうございます。
ヒアドキュメントという言葉を知らず、見落としました。
現状何となくエリアが出たのですが、表示はしていませんが
何となく出そうな感じまで行きました。
ちょっこり、色々いじってみます。ありがとうございました。
213:nobodyさん
08/04/17 17:03:04
ひゃあドキュメントってなんかエッチな感じがするな。なぜだろう?ひゃあ!
214:nobodyさん
08/04/17 17:50:59
またオマエか
215:nobodyさん
08/04/17 18:01:14
春は新しい出会いにときめく学生さんがここに遊びに来てるんだからオマエとかいわず温かい目でみてやれよ
216:nobodyさん
08/04/17 19:02:05
>>212
初心者か否かは関係ない。
真剣やる気があるかどうか、人の話を聞けるかどうかが問題。
217:nobodyさん
08/04/17 19:12:00
>>216
そんなくだらんレスするくらいなら、>>202>>203にでもレスしろよ。
218:nobodyさん
08/04/17 19:14:45
>>217
そんなくだらんレスするくらいなら、>>202>>203にでもレスしろよ。
219:217
08/04/17 19:23:39 yQIY/Upa
>>202
やったこと無い。
>>203
ちいたんじゃダメか?w
220:nobodyさん
08/04/17 19:45:53
すいません、教えてください。
Apache2.63にPHP5.25をインストールしました。
PHPファイルをモジュールで動かしてたのですが、勉強のため一部のファイルのみCGIとして動かしたいんです。
動かしたいファイルのソースはこれです。これを実行させるとechoで出力はできるのですが、#!C:/php5/php-cgi -qが文字列として表示されてしまいます
ということはCGIとして動いてないからなんでしょうか・・・?
#!C:/php5/php-cgi -q
<?php
echo 1111111;
?>
221:nobodyさん
08/04/17 20:19:24
CGIとして動かすためにしたことは?
222:nobodyさん
08/04/17 20:30:25
>>221さんありがとうございます
一行目に#!~おまじないをいれてみましたができません
httpd.confにcgiとして設定しないとできないのでしょうか?
223:nobodyさん
08/04/17 20:46:52
httpd.confをCGIが動くように設定したのか?してなかったら恥
224:nobodyさん
08/04/17 21:23:22
てかid出せボケ
225:nobodyさん
08/04/17 21:31:27
>>224
氏ね答えられない低脳
226:nobodyさん
08/04/17 21:34:40
このスレはこの程度か!
どうもありがとうございました
227:nobodyさん
08/04/17 21:35:07
いえいえおよび出ないですよ
228:nobodyさん
08/04/17 21:39:06
>>225-227
無職乙
229:nobodyさん
08/04/17 21:40:04
>>228
ニート乙
230:nobodyさん
08/04/17 21:40:35
マジきめええwwww
答えられないならでてこなくていいからw
231:nobodyさん
08/04/17 22:08:12
つうかもういい加減id出してない質問にレスするのやめようぜ
232:nobodyさん
08/04/17 22:12:02
仕切り厨でましたね
233:nobodyさん
08/04/17 22:46:48
仕切り厨でもなんでもいいがルールぐらい守れミジンコ共が
234:nobodyさん
08/04/17 22:47:05
粘着妖精さんもスルー
235:nobodyさん
08/04/17 22:56:16
>>220=225=226=230=232=234
スレリンク(php板)
ほれこっち池
236:nobodyさん
08/04/17 22:57:36
phpで、携帯のサイトを作っているのですが、
セッション管理が必要なサイトで、
セッションIDの情報をURLに埋め込んでいます。
ただ、ユーザーの中にセッションIDが入ったURLをブックマークとして
公開する人がいて、セッションハイジャックが毎日行われています。
これって、仕様として客に説明しているのですが、
客が納得してくれず、携帯であるが故に技術的に不可能なことを説明しているのですが堂々巡りです。
こういう場合、どのような資料を提示して納得してもらえるのでしょうか?
宜しくお願いします。
237:236
08/04/17 22:58:55 8cCEOmJ0
すみません、下げていました。
238:nobodyさん
08/04/17 23:00:47
有効期間つければ?
239:nobodyさん
08/04/17 23:02:20
>>236
仕様って!!www
そんなサイトでセッションIDを生で埋め込むなよ
240:236
08/04/17 23:08:32 8cCEOmJ0
>>238
アドバイスありがとうございます。
有効期間はつけているのですが、
短いと、すぐにセッションが切れると苦情が来るし、
長いと、2chやブログでURLが貼られた場合に、セッションハイジャックが多発してしまします。
結局、有効期間ですと根本的には解決されないのではというのが結論です。
>>239
いや、携帯のサイトですから・・・
241:nobodyさん
08/04/17 23:13:21
>>240
IPの範囲みたりとかしたら?
あとauはクッキー使えるし
242:nobodyさん
08/04/18 00:07:02
IPアドレスや個体識別番号を持たせておけばいいだけじゃないの?
243:nobodyさん
08/04/18 00:09:22
URL埋め込みのSIDだけで何とかしようと思うほうがどうかしてる
244:nobodyさん
08/04/18 00:30:00
んむ クッキーがどうとか全く関係ないな
セッションハイジャックの対策をしていない事が問題なだけ
245:nobodyさん
08/04/18 00:33:53
「セッションハイジャックが毎日行われています。」
「fscanfがおかしいです。」も好きだけど、これも気に入った。
246:nobodyさん
08/04/18 00:40:53
無知なクライアントでよかったねぇ
うちの下請けが「これが仕様です」なんて言ってきたら二度と仕事回さないぞ
247:nobodyさん
08/04/18 00:52:58
>>240
> いや、携帯のサイトですから・・・
携帯サイトやからセッションIDを生で埋め込まへんねんて
248:nobodyさん
08/04/18 01:40:20
mixiとか大手はどうしてんだろ?
249:nobodyさん
08/04/18 01:46:33
uidじゃね?
250:nobodyさん
08/04/18 06:04:41
if (!isset($a))
$a = "hoge";
や
isset($a) ? $a : "hoge"
をもっと簡潔に(短く)書く方法はありますか?
251:nobodyさん
08/04/18 06:40:54
あるけどそんな微々たるところの効率なんか工夫しようとすんな
252:nobodyさん
08/04/18 13:48:09 VW/Du+vX
掲示板つくってます。
【日付,名前,本文,削除pass,IP】とデータをログファイルに残してます。
出力はこのログを頭から順にだしてます。
ここから返信機能つき掲示板に組み替えたいのですが、
ログファイルにどのようにデータを残し、
どのように出力するように動作させたらよろしいのでしょうか?
流れだけでもどうかご教授お願いいたします。
253:nobodyさん
08/04/18 14:03:31
>>252
とりあえず全てのスレッドにユニークなIDをつける。
↓
新しいテーブル(データベースの場合)、またはファイルを作成。
↓
【ユニークID,本文】でデータを取る。
↓
ユニークIDが新テーブルと一緒の物だけを表示。
(例) データベース使ってる場合のsql
>>252の作ってるテーブルのユニークID(55)を一覧する場合
select * from new_table where ユニークID = 55
こんな感じでいいのかな?
254:nobodyさん
08/04/18 14:04:08
まずデータにIDが必要
255:nobodyさん
08/04/18 14:14:18 VW/Du+vX
ありがとうございます、勉強になりました。
さっそく取り掛かります。
ありがとうございました。
256:nobodyさん
08/04/18 14:48:16
正規表現にマッチした数を返してほしいのですがそんな関数はあるでしょうか?
以下だったら3を返してほしいです。
$preg = "12HOGE.;asd123HOGE.;52HOGE";
/(\d+)HOGE/
257:nobodyさん
08/04/18 14:52:05
>>256
そのものずばりではないが
preg_match_all
258:nobodyさん
08/04/18 14:54:12
返して欲しいんだからズバリなんじゃないの
259:nobodyさん
08/04/18 16:06:53
>>257
なんでも正規表現で答えれば間違いないと思っている馬鹿って何なの?
それしか解決方法を知らないの?
260:nobodyさん
08/04/18 16:07:57
正規表現嫌なら煽ってないでお前が答えてやれよ
261:nobodyさん
08/04/18 16:21:37
ずばりそのものだろ?
262:256
08/04/18 16:36:42
自己解決しますた
ほんと使えねえカスばっかだな
263:nobodyさん
08/04/18 16:53:22
fscanfがおかしいです
264:nobodyさん
08/04/18 16:54:10
>>256
preg_match_all
返り値
パターンがマッチした総数を返します(ゼロとなる可能性もあります)。 または、エラーが発生した場合に FALSE を返します。
これより楽な方法はないよね
265:nobodyさん
08/04/18 16:57:20
>>262
またオマエか
266:nobodyさん
08/04/18 17:07:53
ID出さないやつにご丁寧に答えて議論してやってるお前らが微笑ましい
267:nobodyさん
08/04/18 17:48:00
ID出す出さないに関係なく自分の糧になるのなら質問も回答もするのが俺様のセオリー
268:nobodyさん
08/04/18 18:10:03
右乳首が痛いのですがどうすれば治りますか?
バージョンアップするしかないのでしょうか?
269:nobodyさん
08/04/18 18:10:22
preg_match_allの第三引数で
変数にマッチした値を格納できますが、
$matched[0]にあたる値はいらないので変数に格納しないでほしいのです。
$matched[1]とかは(?:)でできるのは知っています。
$matched[0]はどのようにすればいいのでしょうか?
$str = "1234abs=2;1234abs=7;432abt=3;";
preg_match_all("/[\d]+abs/",$str,$matched);
270:nobodyさん
08/04/18 18:10:35
正規表現がダメな理由は、その処理速度の遅さ。
forループ文の中に、正規表現で処理するロジックが入っていたら、それこそ最悪。
また、正規表現の処理のために仮想メモリーを浪費するため、異常なメモリーの食い方をする。
現実的に出来るかどうかを検証せずに、出来る出来ると主張しているところが青臭さを感じるといっただけ。
271:nobodyさん
08/04/18 18:20:24
正規表現は神
272:nobodyさん
08/04/18 19:09:30
否定するのは誰でもできます
解決方法をかけない奴はいくら言ってもダメ
273:nobodyさん
08/04/18 19:32:15
特にお前とかな
274:nobodyさん
08/04/18 19:40:42
>>270
現実的に出来るかどうかを検証してから、
ダメと主張してくださいねw
275:nobodyさん
08/04/18 19:44:40
方法を提供もしないでこれはダメあれはダメなんて幼稚すぎる
276:nobodyさん
08/04/18 20:22:29
>>270
そりゃ組み方が下手なだけだろ
277:nobodyさん
08/04/18 20:27:33
その遅い正規表現は何秒かかるの?
それが問題になる処理じゃなければ使ってもいいだろ。
遅いってんならPHP使わないでCで組めや
278:nobodyさん
08/04/18 20:38:41
>>270さん正規表現に変わる手法を教えてください
279:nobodyさん
08/04/18 20:54:41
代案も出さずに批判するとは民主党もびっくりだわw
280:nobodyさん
08/04/18 21:33:57
ここまで技術的な考察まで書いてやっているのに、
人に代替案まで求めるって、どこまでスィーツ脳なんだ?
技術者としての素質もなければプライドもないのかね?
281:nobodyさん
08/04/18 21:34:58
スイーツ脳なんて特徴的な言葉使うのお前だけ
よく常駐して煽ってるいつもの馬鹿か
282:nobodyさん
08/04/18 21:36:11
>>281
おまえもな
283:nobodyさん
08/04/18 21:36:48
>ここまで技術的な考察まで書いてやっているのに
ぷっ
284:nobodyさん
08/04/18 21:38:57
技術的(笑)
考察(笑)
285:nobodyさん
08/04/18 21:47:56
(笑) (笑)
286:nobodyさん
08/04/18 21:57:15
()笑
287:nobodyさん
08/04/18 21:58:07
代替案が欲しいわけじゃないんだわ
お前さんが本当に代替案を考えられる技術があるのか
その方法が標準の正規表現関数と比べてどの程度早くなるのか
それが知りたいだけ
288:nobodyさん
08/04/18 22:03:28
真性キティにマジレスカコワルイ
289:nobodyさん
08/04/18 22:32:13
口だけだったみたいだからあんまりいじめないであげよ
290:nobodyさん
08/04/18 23:54:36
>>289
他人のふりせずに素直にやめてくださいって言えよw
291:nobodyさん
08/04/19 00:43:26
実力がある人って批判だけするとこみたことないねえ
かならず何らかの提案をもってきてくれる
292:nobodyさん
08/04/19 01:14:59
批判だけする人って
勘違い君が多い
293:269
08/04/19 01:26:36
お願いします
294:nobodyさん
08/04/19 01:36:11
だから、必死になって代替案出せって何よ?
本当は知りたいくせに、煽っているってるって、
好きなくせに女の髪の毛引っ張って気を引こうとしている中年男と一緒だろw
295:nobodyさん
08/04/19 02:01:36
池沼うざい
296:nobodyさん
08/04/19 02:08:33
本当に知りたいと思ってる人はいないよ。
PCREのパターン展開エンジンを*PHPで*自前実装したい人だけが
高度な技術的考察をしとけばいい。
/^\d+$/ → ctype_digit()
/^Mozilla/ → strpos(), strstr()
>>256のお題がこんな話に見える素質がなくてよかった。
297:nobodyさん
08/04/19 02:27:54
>>293
>>11をちゃんと読んでから出直してこい
298:nobodyさん
08/04/19 02:50:25
>>294
いや、批判するなら最初からレスしなくていいと思ってる
299:nobodyさん
08/04/19 06:08:17
>いや、批判するなら最初からレスしなくていいと思ってる
馴れ合いキモ
300:nobodyさん
08/04/19 06:14:31
>>293
第4にPREG_OFFSET_CAPTURE入れて
0をunsetしれ
301:nobodyさん
08/04/19 10:19:29
>>296
CTYPEはそれとイコールじゃないよ。
俺も昔つっかかった
302:nobodyさん
08/04/19 12:03:10
【迷言ランキング】
1 : fscanfがおかしいです
2 : ここまで技術的な考察まで書いてやっているのに
トップ揺るがず。
303:nobodyさん
08/04/19 12:44:33
質問です。
<?php
$word = $_POST['text'];
$pointer=fopen("./log.dat", "a");
flock($pointer, LOCK_EX);
fputs($pointer, $word);
flock($pointer, LOCK_UN);
fclose($pointer);
?>
<form action="パス" method="post">
<input type="text name="text" size="30">
<input type="submit" value="送信">
</form>
こんな感じのを応用して簡単な掲示板を作ろうと思うのですが、
更新すると何個も同じものを送信してしまいます。
どうすればよろしいのでしょうか?
304:nobodyさん
08/04/19 13:05:00
>>303
同じものであるか判定する処理
↓
真だったら拒否,偽だったら書き込み
305:nobodyさん
08/04/19 13:10:36
>>303-304
>>1
306:nobodyさん
08/04/19 13:41:34
PDO+SQLite使えば楽なの何故いまだファイル使うかなぁ
307:303
08/04/19 14:27:57 EugqgBl5
>>304 その処理が分からないです…
>>306 サーバーがSQLite対応してないです
308:nobodyさん
08/04/19 14:56:51
>>303
更新すると同じものを送信するのはブラウザ側の問題なので、サーバで二重投稿かデータチェックする。
ケース1)
ログファイルの最後に書き込まれたデータと比較して、同じならアウトにする。
ケース2)
フォームにセッションを使ってユニークIDをhiddenに埋め込む。
サーバにhiddenで送られてきたユニークIDを見て、セッションと同じ値でなければアウトにする。
309:nobodyさん
08/04/19 15:46:00 nFas9Qcl
?
てst
310:nobodyさん
08/04/19 15:49:34 nFas9Qcl
マックからフォームで~を入力すると?(←2chではwinだとハテナに見えるかもしれません)となってしまいます。
これをログに記録すると、文字化けしてしまいます。
マックからの「~」を文字化けしないでログに書き込むにはどのような方法がありますでしょうか?
311:nobodyさん
08/04/19 16:06:28
文字コード統一汁(機種依存は論外)
312:nobodyさん
08/04/19 16:06:31
>>310
外部、内部、それぞれの文字コードは何?
313:nobodyさん
08/04/19 16:18:13 nFas9Qcl
文字コードはUTF-8で全て統一しております。
ただ、どうしてもマックからフォームに~を入力すると、以下のサイトにかいてあるような現象になります。
URLリンク(oshiete1.goo.ne.jp)
う~ん、いままでwinしか使ったこがなくて、マック環境が無いので不安なんですが、
マックの「~」はwinでは機種依存文字扱いとされるのでしょうか?
314:nobodyさん
08/04/19 16:26:34 nFas9Qcl
自己解決しました。
ログを開くのに使用しているエディタの内部文字コードがsjisのために起こった現象です。
使用してたのはサクラエディタでえす。
お気に入りのエディタでしたが、この機会に別のエディタに乗り換えます。
引用:URLリンク(ja.forums.wordpress.org)
残念ながら、サクラエディタは、Shift_JIS なのに ISO-2022-JP と誤認した前科 (WPJ フォー
ラムのキャッシュ) があるので、今回は「紹介するべきではない」代物です。
単に「巨大なテキストを開けるエディター」として出すならいいんですが、
今回は文字コード変換に使うため、「文字コードを誤認するエディター」を選ぶのは、よろしくありません。
サクラエディタは内部文字コードが SJIS らしく、UTF-8 を扱うにはよいエディターとは
言えません (「波ダッシュ」が化けたりするらしい)。
そういう面ではマトモなのは EmEditor ぐらいしかなさそうです (TeraPad, K2Editor など、Windows のエディタの多くは内部コードが Shift_JIS)。
あと、質問者が Windows を使っているかどうか不明なので、「Windows ならば○○○」という限定を入れてほしかったです。Mac ユーザーだとすると「サクラエディタがおすすめ」と言われても困りますので。(Linux ユーザーは文字コード変換で悩むことはないでしょうが)
315:nobodyさん
08/04/19 16:26:55
痴漢すればいいじゃん
316:nobodyさん
08/04/19 16:27:55
ヽ(・ω・)/ ズコー
\(.\ ノ
317:nobodyさん
08/04/19 16:38:11
Emediterも半角英数字だけのファイルを保存すると
ShiftJISで保存する糞エディタだな
318:nobodyさん
08/04/19 16:47:53
terapad→サクラエディタと着たが俺も乗り換えるか・・・
319:nobodyさん
08/04/19 17:37:31
>>317
ちょwww笑わすなwwww
BOM無しUTF-8とEUCとSJISの文字コードを判別する方法思いついたら教えてくれwwww
エディタ作ってやんよwwwwww
320:303
08/04/19 18:12:34 EugqgBl5
連続投稿は防げましたがタグを使われるとおかしくなります。
htmlspecialcharsで無効化しようと思ったのですが、
<font color="#ff0000">が<font color=\"#ff0000\">となります
なせでしょうか?
321:nobodyさん
08/04/19 18:23:23
ポストされたデータをどっかでエスケープしてるんじゃないの?
覚えが無いならmagic_quotes_gpcを確認
322:nobodyさん
08/04/19 20:00:37
>>320
おまえはまず人からアドバイス受けたらありがとうの気持ちぐらいだせ
323:中沢
08/04/19 20:02:45 8RVDFTU7
こんにちは(^_^;)
ログファイルに保存された配列を元に検索機能を作りたいのですがどうすればよいのでしょうか?
詳しく書きますと
log.datに
155<>名前155<>年齢155<>
5<>名前5<>年齢5<>
4<>名前4<>年齢4<>
1<>名前1<>年齢1<>
とあったとします。
検索では、完全一致した場合に表示させる、id検索と、部分一致した場合に表示される、名前と年齢検索ができるとして、
id検索で1
と検索すれば、$ken件マッチしました。
id:$id
名前:$name
年齢:$age
と表示させ、見つからなかったらエラールーチンに飛ばさせます
次に、名前検索で部分一致したら表示させる場合は、
「前1」
と検索したら、今回は2件マッチするので
$kenマッチしました
と
2件とものデータを表示させたいです
このような検索できるスクリプトを作りたいのですが、分かりません。よろしくお願い致しますm(_ _)m
324:nobodyさん
08/04/19 20:08:05
>>323
わからないならまだ作るのは早いってことです
ここは宿題お手伝いのお部屋ではありません
325:nobodyさん
08/04/19 20:13:26 +VgtfKgh
今、メモ帳でphpのプログラム書いてるんですが
専用のソフトとかってないですか?
プログラム書いてて関数とか変数が色ついたり
見やすくしてくれるヤツです。
326:nobodyさん
08/04/19 20:16:07
はじめまして、よろしくお願いします。
PHPでデリヘルによくあるような出勤表を作りたいと思っています。
女の子情報はMYSQLで管理しています。
■欲しい機能
・管理画面から出勤スケジュールを登録
・本日の出勤一覧ページ
いろいろ考えているのですが…
・女の子情報の登録時に『出勤フラグ』をラジオボタンで付けて
フラグがtrueのときに内容(時間)を表示 とか。
→どうやってカレンダーと合わせる?
詰まっています。
ヒントでもいいのでお願いします。
327:nobodyさん
08/04/19 20:17:39
>>325
phpエディタでもつかいなされ
メモ帳使いがいきなりIDEは厳しいとおもうけど
興味あるならEclipse PDTでも使ってみなされ
328:nobodyさん
08/04/19 20:18:15
>>326
金
329:nobodyさん
08/04/19 20:21:42
まず金払え。
330:>>323中沢
08/04/19 20:24:08 8RVDFTU7
array_serch
を使うのはわかるのですが、中に正規表現をいれたいのです。
どうすればよいのでしょうか?
331:nobodyさん
08/04/19 20:27:43
>>330
どうすればいいのですかではなく、自分で考えてコードを書け
332:326
08/04/19 20:28:35
ヒントだけでも。
333:nobodyさん
08/04/19 20:30:02
学歴だけでPGすっ飛ばしてSEになるとわからないよなw
334:nobodyさん
08/04/19 20:30:44
答:仕様書書いてPGに組ませる
335:nobodyさん
08/04/19 20:32:04
これでもPGより給料多いんだぜ?
336:nobodyさん
08/04/19 20:38:59
>>330
同じ苗字で恥かかすなや
337:nobodyさん
08/04/19 20:44:33
このスレはこの程度かよ
ksg
338:nobodyさん
08/04/19 21:26:11
>>337
またオマエか
339:nobodyさん
08/04/19 21:42:16
ループかよ
340:中沢
08/04/19 22:25:14 8RVDFTU7
誰か答えクレクレ(^^)/
お願いいたします
341:nobodyさん
08/04/19 22:33:51
>>340
ヒント:
スレリンク(php板)
342:nobodyさん
08/04/19 22:35:04
ああごめん、デリヘル依頼者とごっちゃになってたわ
343:nobodyさん
08/04/20 04:40:12
???
デリヘル依頼者と正規表現とどう関係があるの?
344:nobodyさん
08/04/20 04:46:05
両方とも珠玉の一品に出会えます
345:nobodyさん
08/04/20 05:28:17
>>344
よく分からない。珠玉の一品って、つまり締まりがいいマンコとかってこと?
346:nobodyさん
08/04/20 07:20:37
あとは、でかいチンコも。
347:nobodyさん
08/04/20 15:51:29 cb0wPZjr
配列$_POSTの中身の一つ一つにhtmlspecialchars($_POST, ENT_QUOTES, 'UTF-8')の様な処理をして
戻したいです。
arra_mapを使ったところ、第3引数のENT_QUOTESが配列では無いと怒られてしまいます。
$_POST = array_map('htmlspecialchars',$_POST, ENT_QUOTES, 'UTF-8');
どうしたら良いでしょうか。
348:nobodyさん
08/04/20 16:19:18
怒られないようにしたら?
349:nobodyさん
08/04/20 16:52:53 cb0wPZjr
>>348
ありがとうございます。
怒られないようにしたら出来ました。
350:nobodyさん
08/04/20 16:53:26
亜鈴魚喰
351:Defort
08/04/20 17:11:16 QNOTdt2p
フリーページ
URLリンク(tool-1.net)
について聞きたいのですが、index.cgiのスクリプトが丸見えみたいなのですが、どうやったらみれるのですか?
ヌルバイト攻撃使っているのですか?
352:nobodyさん
08/04/20 17:31:23
gethostbyaddr()
で得られるホスト名って信頼できる?
たとえば、gethostbyaddr($hoge)
で ***.yahoo.co.jp みたいなのが
でたら、 $hoge は yahoo関連のIPと断定できる?
yahooとは関係ない第三者のIPが ***.yahoo.co.jp みたいなホスト名を
返すことってありえませんか?
353:352
08/04/20 17:33:32
自己解決しました
354:nobodyさん
08/04/20 17:57:34 Tze2JaW2
セッションのGCの挙動を変えたくて、session_set_save_handlerを使って
gc_test()に置き換えようと思っています。
session_set_save_handler("", "", "", "", "", "gc_test");
session_set_save_handler(null, null, null, null, null, "gc_test");
と試してみましたが
Warning: session_set_save_handler() [function.session-set-save-handler]: Argument 1 is not a valid callback in xxx.php on line 3
というwarningが出て目的が達成できません。
openその他の関数をデフォルトのままにするにはどのようにすれば良いでしょうか?
355:320
08/04/20 18:38:39
>>321様
ありがとうございました!
magic_quotes_gpcがずっとわからなかったのですが
.htaccessで設定できるのですね!
文字化けの心配がなくなりました。
356:nobodyさん
08/04/20 19:26:38 8958Dk4L
<form method="post" enctype="multipart/form-data" action="./uploader.php">
<input type="file" name="data" size="30">
<input type="submit" value="アップロード">
</form>
<?php
$filedir = "./file/";
$filename = $_FILES['data']['name'];
if(file_exists($_FILES['data']['tmp_name'])){
$filesize = filesize($_FILES['data']['tmp_name']);
if($filesize <= 1050000){
if(move_uploaded_file($_FILES['data']['tmp_name'],$filedir.$filename)){
echo "アップロードしたファイル・・・ファイル名:".$filename." ファイルサイズ:".$filesize."Byte";
echo "<br><br>";
}
}
else{
echo "ファイルサイズが大きすぎます!";
}
}
if($filename){
echo "<img src='./$filedir/$filename'>";
}
?>
このような感じでアップローダーを作ってるのですが、
ファイル名がそのまま保存されるのをfile0001みたいな感じで保存することはできますか?
357:nobodyさん
08/04/20 19:33:38
それ自分で書いたコード?
358:nobodyさん
08/04/20 19:46:33
自分で書いてたらはじめから連番を振る仕様になってそうだね。
まあ、どっかのサイトとか本が $filename = $_FILES['data']['name']; で説明してたのを
使い回してるのかもしれない。
359:nobodyさん
08/04/20 19:47:01 8958Dk4L
友達から教えてもらったです。
360:nobodyさん
08/04/20 19:59:36
きめぇw
361:nobodyさん
08/04/20 20:00:21
>>360
きめぇw
362:nobodyさん
08/04/20 20:08:01
ら、らめぇ
363:nobodyさん
08/04/20 20:11:57
じゃその友達に聞けばいいじゃん
364:nobodyさん
08/04/20 20:51:05
めでたしめでたし
365:nobodyさん
08/04/20 21:28:40
くだらない質問、お願いします。
OSはWinXP、webサーバはapacheです。
perl、phpは実行できる環境です。
ダウンローダーからのアクセスをhttpステータス403で
返したいです。その為、webサーバのログをcronで
調査し、ある条件(例えば1分間に60回アクセス)
に合致したホスト(IPアドレス)を.htaccessの
deny fromに追加したいです。
そのような、perl,PHPはあるでしょうか?
366:nobodyさん
08/04/20 21:29:20 PJ8uyzSs
age忘れました。
くだらない質問、お願いします。
OSはWinXP、webサーバはapacheです。
perl、phpは実行できる環境です。
ダウンローダーからのアクセスをhttpステータス403で
返したいです。その為、webサーバのログをcronで
調査し、ある条件(例えば1分間に60回アクセス)
に合致したホスト(IPアドレス)を.htaccessの
deny fromに追加したいです。
そのような、perl,PHPはあるでしょうか?
367:nobodyさん
08/04/20 21:42:41
WinXPでcron動いてるのか?
368:nobodyさん
08/04/20 22:10:51 PJ8uyzSs
>>367
pycron.exeってやつで、
unixのcron相当を動かしてます。
369:nobodyさん
08/04/20 22:21:56
cronって、結局時間で動かすだけのプログラムだろ、
本気でやるならJP1とか使えよ。
本気じゃねーのかよ。
370:nobodyさん
08/04/20 23:16:26
>>369
ここは下らねぇ回答者のスレではありません。
371:nobodyさん
08/04/20 23:52:57
>>370
異常系の処理も考慮しない馬鹿ですか?w
372:nobodyさん
08/04/21 00:51:15
パソコンの電源がつかないのですけどどうしたらいいですか?
373:nobodyさん
08/04/21 00:55:33
>>371-372
スレリンク(utu板)
374:366
08/04/21 07:24:16 f7rHed3v
JP1とかはどうでもいいんで、
私の質問に対して、良い案は
ありますか?
お願いします。
375:nobodyさん
08/04/21 07:37:38
phpでいくらでも.htaccess編集したればいいじゃん
376:nobodyさん
08/04/21 07:56:46
なかったら作れよ
>>375
377:nobodyさん
08/04/21 12:32:43 8HZkrnGU
mail関数を連続で実行することで、
メールの遅延が発生したりするのでしょうか?
お問い合わせフォームを作った時、管理者・問い合わせ者・保存用と
3つの箇所に送信するのですが、たまにメールの受信が遅かったり
バラバラに受信したりします。
378:nobodyさん
08/04/21 12:41:06
>>377
だから、そういう時のためJP1を使ってジョブの異常系を制御しろよ。
379:nobodyさん
08/04/21 12:50:44
>>377
メールってそんなもんだろ
380:377
08/04/21 13:08:39 8HZkrnGU
>>378
「JP1」と言うのを検索しましたが、
メール処理とあまり関連しないような気が・・・。
>>379
「そんなもんだ」とは思っているのですが、
メールが届かない事による語弊もありますし、
プログラムに詳しくない人は「メールは必ず届くものだ」と
考えるので、お問い合わせフォームでそれが起きると不安がられます。
381:nobodyさん
08/04/21 13:16:15
「遅れることがあるよん」と謳っておけ
いつでもラグレスで届くシステム作ったらそれだけで億万長者になれるわw
382:nobodyさん
08/04/21 13:20:19
>>377
SMTPサーバのログとキューを確認したら?
きちんとmail関数で送信できる?
それとPOP/IMAPサーバの方もチェックした?
>>378
JP1は無関係だろ?
一応は送信できているんだからジョブは生きてるだろ
383:nobodyさん
08/04/21 13:26:25
週末から今日までのログを読んで笑わせてもらった。
ありがとう。
384:377
08/04/21 13:36:11 8HZkrnGU
>>381
それは注意事項に記載しているのですが、
いかんせん電話までしてくる人が多くて‥。
>>382
サーバの事は疎くてSMTPサーバのログとキューは確認してないです。
また、mail関数(厳密に言えばmb_send_mail関数)を使っていて
これまで問題なく送信、一括配信など行えていたのですが、
なぜか今作っているサイトでは遅延が発生します。
やっぱりサーバの問題もあるんですかね?
さくらインターネットのサーバなんですが。
385:377
08/04/21 13:38:55
少しググったのですが、もしかして
サーバのPHPが4.3.9なのが原因なのかも・・・。
386:nobodyさん
08/04/21 13:48:07
>>384
> これまで問題なく送信、一括配信など行えていたのですが、
> なぜか今作っているサイトでは遅延が発生します。
どちらも正常な動作ですよ。電話鳴らされるのはご愁傷様としか言えない。
メール配送の仕組みや MTA のご機嫌の問題を PHP で解決するのは大変そう。
387:nobodyさん
08/04/21 13:53:45
てか、メール遅延なんて、自分の鯖だけで解決する問題じゃないだろ
388:nobodyさん
08/04/21 13:54:56
その気持ちは分かるけど、俺も人を疑うことを止めて、
人を信じることから接してみたら?
俺もそうしたら、幸せなことが増えたと思う。
苦情をネガティブに考えないで、感謝する気持ちで捉えてみて。
389:377
08/04/21 14:01:16
>>386
やっぱり「普通のこと」なんですね。
さっきサーバに詳しい友人にも電話して聞いてみたのですが、
「メールの遅延や送られないことはある。でもPHPのバージョンを変えるとか
サーバの設定を変えるとかそういう操作は時期早々。やらない方が良い」
と言われました。ですので、このまま静観します。
ご回答いただいた方、ありがとうございました。
390:nobodyさん
08/04/21 14:01:53 eazv5Nmh
error_reportingの設定って、みんなE_ALLとかE_STRICT使ってる?
391:nobodyさん
08/04/21 14:05:44
送信数が多いならキューを分割してプロセスをリッスンして心太方式にするのもいいカモメ
392:nobodyさん
08/04/21 14:06:06
>>389
プロなら、しょうがないで済まさないぞ。
メールが送信できないケースには様々な原因が考えられるが、
リターンメールが帰ってくるケースではそれに対処するプログラムを組む必要がある。
でないと、到達不能メールが無限ループを繰り返し、相手のサーバーは中継サーバーもダウンさせる。
そうなったら、威力業務妨害で捜査を受ける場合もあるし、賠償問題にも発展する。
かかる観点まで見通して実装するかどうかが、プロとアマの分水嶺だよ。
393:nobodyさん
08/04/21 14:08:42
>>384
ログ解析したら、だいたのボトルネックが分かるものだよ
394:nobodyさん
08/04/21 14:18:19
「問い合わせフォーム」にMAILER-DAEMONさんへ自動返信する機能を
実装するかどうかが分水嶺なのですね。わかります。
395:377
08/04/21 14:19:08
mb_send_mail関数を使ってもサーバのメールログに情報が残るんですか?
お恥ずかしながら、sendmail送信の場合、ログが残らないと思っていました・・。
と言うことは、そのログを閲覧できるレンタルサーバを借りなければ
いけないと言うことですよね?さくらじゃ無理そうだ・・・
396:nobodyさん
08/04/21 14:22:38
共有レンサバじゃ厳しいだろな
送信関連の規制にひっかかってるんじゃね?
スクリプトである程度調整できるかもしれないけど。
397:377
08/04/21 14:25:00 8HZkrnGU
>>396
1日10件もお問い合わせがないので、送信規制にかかってなさそうです。
アクセスも多くて500PVほどですし。
結構、簡単に考えていたのですが、色々と考えるべき事が多いのですね。。
398:390
08/04/21 14:25:02 eazv5Nmh
漏れの質問はスルーですか、そうですか。
399:nobodyさん
08/04/21 14:27:24
スパムメールサーバーとして、ルートサーバーに登録されてしまったら、
そこから送信されるメールは一切受け付けてくれなくなるよ。
インターネットで死亡宣告を受けるようなもの。
数件ならいいけど、数百件にもなったら危険水域。
400:nobodyさん
08/04/21 14:30:40
>>390
(PHP_OS != 'WINNT') ? error_reporting(0) : error_reporting(E_ALL);
401:nobodyさん
08/04/21 15:55:39 tP2T0+Jy
phpmyadminのようにサーバ上のSQLiteデータベースファイルをブラウザで
編集できるアプリってありますか?
402:nobodyさん
08/04/21 16:13:15
探したら、あった
URLリンク(phpsqliteadmin.sourceforge.net)
403:nobodyさん
08/04/21 16:21:47 tP2T0+Jy
>>402 ありがトン!早速試します。
404:nobodyさん
08/04/21 16:46:56
JP1JP1って日立の中の人なのか?
405:390
08/04/21 16:47:11 eazv5Nmh
>>400
サンクスコ
406:366
08/04/21 16:53:15
自分で作りました。
ありがとございました。
407:nobodyさん
08/04/21 21:40:04
粘着キティは通院日かな?
408:nobodyさん
08/04/21 21:56:39
このスレ、回答者が釣りなのかマジなのかわかんねぇ。
無限ループって何だよ。
Fromを入力可能にするとか?ありえないし。
メールヘッダーインジェクション可能だと、サーバー止められるかもだけど。
>>390
作る時はE_STRICTでやってる。
なんか、本番環境でdisplay_errorがonの所多過ぎない?
ちなみにdisplay_errorはini_setしてもあまり意味無い。
iniでdisplay_error offで、ini_setでonにすると、
パースエラーの時、ini_set自体が実行されないのでパースエラーが表示されない。
逆も然り。
まあ、逆の場合は本番環境でパースエラーは無いだろうから良いっちゃ良いけど、
精神衛生上良くない気がする。
409:のし図
08/04/21 23:17:05 YYj5TAUN
mkでこんなセキュホみつけたのですが、ここからindex.cgiのソースを見るにはどうすればよいのでしょうか?
URLリンク(mk-board.net)
穴みたいです
セキュリティに詳しい方教えて下さい
410:nobodyさん
08/04/21 23:22:27
ここはperlじゃないよ。
cgiは関連付けされてるから見えないみたい!?
411:のし図
08/04/21 23:28:53 YYj5TAUN
>>410
何かと方法ってないのですか?
412:nobodyさん
08/04/22 00:07:08
ここはperlじゃないよ。
413:nobodyさん
08/04/22 03:24:49
そんな穴じゃ抜けない
414:nobodyさん
08/04/22 11:42:41 dlLjXVhc
phpのsymlinkってアトミックなんでしたっけ・・・?
DBがMysqlのmyisam使わなきゃで、行ロックの代わりをやる必要が・・。
415:nobodyさん
08/04/22 11:49:33
アトミックで鉄腕アトム的ってこと?
416:nobodyさん
08/04/22 11:50:02
>>415
ちょーーー受けるwwwww
417:nobodyさん
08/04/22 11:50:32
>>415
その発想はなかったわwwww