【PHP】下らねぇ質問はここに書き込みやがれ 67 at PHP
[2ch|▼Menu]
1:nobodyさん
08/04/11 06:38:35
まず読め→【PHP マニュアル】URLリンク(www.php.net)
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは970が立ててください立たなかった場合は980よろ

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 66
スレリンク(php板)

◆質問する時の注意
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を必ず明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくはトリップをつける事。

◆質問後の注意
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくは質問時のトリップをつける事。
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで

2:nobodyさん
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()で読み込んだバイナリデータを変換
A処理
Bdecbin()でバイナリ変換してファイルに出力
としているのですが、
プログラム実行後に出来た音声ファイルを開こうとすると
「予期しないデータを含んでいるか破損している可能性があります」
と表示され開くことができません。

ちなみにテキストエディタで開くと、
元ファイルは文字化けしたような文字がたくさん並んでいるのですが、
実行後のファイルは、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
マニュアル見ても訳が分からない・・・


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5367日前に更新/238 KB
担当:undef