【PHP】下らねぇ質問はここに書き込みやがれ 67
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/04/11(金) 06:38:35ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは970が立ててください立たなかった場合は980よろ
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 66
http://pc11.2ch.net/test/read.cgi/php/1205655807/
◆質問する時の注意
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を必ず明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくはトリップをつける事。
◆質問後の注意
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくは質問時のトリップをつける事。
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0015nobodyさん
2008/04/11(金) 14:59:11ID:34hEX+xz早速のレスありがとうございます!
今からやってみます〜!
0016nobodyさん
2008/04/11(金) 15:51:14ID:icnUZbgwfetchColumn()をfetchで回すのと、fetchAll(PDO::fetchColumn)を使うのとどっちが効率良いんだろう?
0018nobodyさん
2008/04/11(金) 16:19:15ID:???誘導
くだらない質問でもど偉そうに聞いていいスレ
http://pc11.2ch.net/test/read.cgi/php/1158647441/
0019nobodyさん
2008/04/11(金) 17:30:27ID:???配列を作る必要があるなら fetchAll(PDO::FETCH_COLUMN) でいい。
一度参照したら捨てていい場合や、
メモリ使用量を気にしないといけない場合は逐次 fetchColumn()。
0020nobodyさん
2008/04/11(金) 19:58:21ID:kamEmAKJphpでバイナリ形式のファイル(音声ファイル)を処理したいと考えています。
具体的には、バイナリデータを10進数に変換し
特定の箇所を
「10(10進)」→「20(10進)」
などに置き換えた後、再びバイナリ形式に戻して新ファイルとして出力したいです。
現在は、
@bindec()で読み込んだバイナリデータを変換
A処理
Bdecbin()でバイナリ変換してファイルに出力
としているのですが、
プログラム実行後に出来た音声ファイルを開こうとすると
「予期しないデータを含んでいるか破損している可能性があります」
と表示され開くことができません。
ちなみにテキストエディタで開くと、
元ファイルは文字化けしたような文字がたくさん並んでいるのですが、
実行後のファイルは、0と1のみが無数に表示されてしまいます。
実行後のファイルも化けたような文字がたくさん出てこれば成功するような気もします。
深い知識がないので的外れなところもあるかもしれませんが、
よろしければどなたか教えてください。
よろしくお願いします。
プログラム実行OS:Linux
言語:PHP 4.4.8
音声ファイル再生OS:Windows
です。
0021nobodyさん
2008/04/11(金) 20:14:38ID:???何がやりたいが意味不明だが、そんなことできるわけもなく。
ファイルがおかしくなるのは当たり前。
バイナリエディタに音声ファイルと同じデータを入力して書き出したところで音声ファイルにはならない。
0022nobodyさん
2008/04/11(金) 20:15:27ID:???0024nobodyさん
2008/04/11(金) 21:39:38ID:???0025nobodyさん
2008/04/11(金) 22:24:57ID:???bindec() decbin() は基数変換用の関数だ。
バイナリ弄りたかったら ord() chr() や pack() unpack() を使っとけ。
あと確認用にバイナリエディタも用意しとけよ。
0026nobodyさん
2008/04/12(土) 02:42:06ID:???カンマ区切りだと妙な挙動になるのはバグですね
0027nobodyさん
2008/04/12(土) 03:16:30ID:???0028 ◆IiyUHoZM0E
2008/04/12(土) 05:53:41ID:7Xlwa8pILAMP環境で勉強しながらBBSを作っています。
$hoge = mysql_query("SELECT * FROM tbl");
みたいな文を書いたとき、$hogeの中に入るのはresourceという
ものらしいのですが、このresourceというものがどんなものなのか、
いまいちイメージがつかめません。
どなたか解説していただけないでしょうか?
もしこの質問がデータベース行きの質問だったら、スレ違いすみません。
0029nobodyさん
2008/04/12(土) 06:22:25ID:???0030nobodyさん
2008/04/12(土) 09:17:11ID:???0031nobodyさん
2008/04/12(土) 13:21:32ID:???0033nobodyさん
2008/04/12(土) 14:44:24ID:???0034nobodyさん
2008/04/12(土) 14:50:46ID:???0035nobodyさん
2008/04/12(土) 15:17:48ID:???0036nobodyさん
2008/04/12(土) 15:26:42ID:???0037nobodyさん
2008/04/12(土) 15:52:39ID:???0039nobodyさん
2008/04/12(土) 16:08:49ID:???0040nobodyさん
2008/04/12(土) 16:19:05ID:???0041nobodyさん
2008/04/12(土) 16:22:01ID:???0042nobodyさん
2008/04/12(土) 16:23:20ID:???違うなら違うで良いけど、俺の理解はそうなんです。
0044nobodyさん
2008/04/12(土) 16:38:27ID:???_/ィV"Vj
/Oィ(゚Д)
〈 <`ー"^"^i だからカイマンだと言っているんだけど。
rシ つ三づ
i\rシ ノ三ノ
ヾ__イ_)シ_)
004528 ◆IiyUHoZM0E
2008/04/12(土) 16:54:45ID:???$hogeの中には実際のデータの塊とかが入るのではなくて、
mysql内のデータを参照するためのポインタのようなものが
入っている、という解釈でよろしいでしょうか?
0046nobodyさん
2008/04/12(土) 16:55:26ID:???カードを持ってレジのお姉さんに渡すとビデオ本体を奥からもってくるとこ、
つまり
ID :カード
リソース:ビデオ本体
に例えろ、IDそのものには何の価値もないのだ、
くれぐれもパッケージと中身の違いに騙されるな。
0047nobodyさん
2008/04/12(土) 17:10:55ID:???0048名無しさん@アイコンいっぱい。
2008/04/12(土) 19:26:42ID:QH24pWr1http://kakitarou.com/url/files/accel.html
0051nobodyさん
2008/04/12(土) 20:00:26ID:???0052nobodyさん
2008/04/12(土) 20:57:30ID:???結局複雑なリレーションはSQL書かないといけないのね、イヤン!
0053nobodyさん
2008/04/12(土) 20:59:17ID:???0054nobodyさん
2008/04/12(土) 21:10:36ID:pm7T1kPT0055nobodyさん
2008/04/12(土) 21:17:35ID:???0056nobodyさん
2008/04/12(土) 21:49:43ID:???0057nobodyさん
2008/04/12(土) 22:07:14ID:???0058nobodyさん
2008/04/12(土) 22:10:44ID:???0059nobodyさん
2008/04/12(土) 22:12:18ID:???これもだよな
006054
2008/04/12(土) 22:22:06ID:pm7T1kPTだが生のSQL文を弄れてしまうとSQLインジェクションの知識が必須になってしまうから
そこをライブラリ側で隠蔽化してやってくれるもので、なるべく独立したライブラリってないの?
006354
2008/04/12(土) 23:31:51ID:pm7T1kPTあ、なるほと、プレースホルダって何なのか今理解した。
PDOってのを使ってprepareではユーザ入力値を入れないようにすれば良いわけか。
何かこれ常識なことを質問してしまったみたいだな。皆ごめん、どうもありがとう。
0064nobodyさん
2008/04/12(土) 23:36:36ID:???損害賠償くらわないようにね。
0065nobodyさん
2008/04/12(土) 23:55:06ID:???末端プログラマが皆セキュリティ技術者では居られないし。
公表されたセキュリティ問題に低リスク/コストで対応するためにライブラリを使うんだし。
0066nobodyさん
2008/04/13(日) 00:12:05ID:???個人的にはむしろ、入門書でも最初に教えるぐらいしないと。と、思う。
0067nobodyさん
2008/04/13(日) 00:22:36ID:???↓
ライブラリ使って楽しよう
とかいろんな意味で終わってる(笑)
0068nobodyさん
2008/04/13(日) 01:26:09ID:???SQLインジェクションにおいて新しい攻撃法が今後発見されることは100%ないの?
セキュリティ技術者ってのは最新の攻撃を常に把握してるよね、それが仕事だもん。
でもプログラムを書いたらその後運営には携わらない末端プログラマは居るでしょ。
そしてそのプログラマは当時のSQLインジェクションの知識で自前でサニタイズしていたら。
つまり「解っている」というのが、その時点についてのみではダメってことでしょ。
これを名の知れたライブラリと一般化したサニタイズ手法を使って文書として残しておけば、
保守として全てを理解していなければならないプログラマは不要であり、
かつ必要な最低限のセキュリティのチェックは可能になるでしょ。
俺はWebの仕事はやったことないからズレてること言ってるのかも知れないけど、
殆どの仕事はASP的な形態で同じプログラマがずっと関われるようなものなの?
0069nobodyさん
2008/04/13(日) 03:26:06ID:???概念上それくらい常識として知っておけ、
ってことじゃねーの?
0071nobodyさん
2008/04/13(日) 03:54:16ID:bEpE13Rlただし、画像ファイル名に保存日を書き込めないとします(20080413.jpgなどはダメ)
phpの関数でそんなのあるんでしょうか?
一定期間が過ぎたら削除する処理に利用したいと思っています
0072nobodyさん
2008/04/13(日) 04:24:29ID:hN58mjIP(クーロンを使えというのはなしで)
前回のデータ取得はキャッシュされていて更新時間は変数として使えます。
現在の日付時間、デーの更新時間、毎朝6時
これらをどう組み合わせて計算すればいいでしょうか?頭がこんがらがってしまいました(?_?)
よろしくお願いします。
0073nobodyさん
2008/04/13(日) 05:23:53ID:???if(date(更新時間-6時間)<date(今-6時間)){
0074nobodyさん
2008/04/13(日) 05:27:15ID:???○mktime
orz
0076nobodyさん
2008/04/13(日) 05:51:50ID:hN58mjIP6時間じゃなくて朝6時です
6時以降の最初のアクセスをトリガーとして作動させたいのです
0077nobodyさん
2008/04/13(日) 06:49:43ID:???0079nobodyさん
2008/04/13(日) 08:06:52ID:???入ってるデータが全部タイムスタンプなら>>77でよさそうだけど、寝起きだから自信ないな
0080nobodyさん
2008/04/13(日) 08:54:53ID:y9NKt7wS(現在のセッションの、全てのセッションデータの廃棄ではありません)
マニュアルを見た感じではみつかりません。
http://jp2.php.net/manual/ja/ref.session.php
具体的には、PHPのプログラムを更新する場合に、その前からのセッションが生きてるのは、嫌だなぁって事なんですが。
PHPは5.2 使ってます。
0082nobodyさん
2008/04/13(日) 09:25:53ID:y9NKt7wSなるほど。
session.nameはPHP_INI_ALLだから session_startより前で設定すればできそうですね。
ありがとうございました。
0083nobodyさん
2008/04/13(日) 09:52:09ID:/FusEZA8008683
2008/04/13(日) 10:09:53ID:/FusEZA8ありがとうございます。
cronについて調べてみましたが、いまいち使用方法がわかりません。
簡単なサンプルを示していただけませんか?
(1時間ごとにtest.PHPを呼び出す例など)
使用しているサーバはoroti.comのw8サーバです。
http://www.abcoroti.com/~rent/rspace/server.html
0088nobodyさん
2008/04/13(日) 10:43:16ID:???読んでないけど、クーロソが使えると言うならば、鯖屋の指示通りに
設定すればいいだけ
(本来は鯖の設定ファイルを書き換えるようなのだから、それなりの権限がなければできない)
使えなければ、前に出てたアクセスをトリガー
(アクセスがあったら、それを契機に)スクリプトで処理するという方法で解決
0089nobodyさん
2008/04/13(日) 10:43:55ID:???0091nobodyさん
2008/04/13(日) 12:13:21ID:???0092nobodyさん
2008/04/13(日) 12:57:13ID:???でっていうwww
009383
2008/04/13(日) 13:02:10ID:/FusEZA8ありがとうございます。
質問板にてcronに関するスレを発見しました。
質問者:cronは使えまか?
管理人:cronつかえますよ。
cronに関するスレはこれだけで、鮎の方にも設定方法が紹介されていませんでした。
この場合どうすればいいでしょうか?
htaccessみたいなかんじで毎時間処理するよう記述したファイルをUP
するんですか?
0094nobodyさん
2008/04/13(日) 13:14:28ID:???xpath使えって話?
0095nobodyさん
2008/04/13(日) 13:22:57ID:/XYVoWCvPEAR::Image_Graph(オープンソース)を使用して
円グラフを作成しています。
マーカー部分に、"項目名 XX%"の用に表示させたいと思っています。
項目名を表示する方法をわかる方がいれば教えてもらえないでしょうか?
PHPとは少し違いますがお願いします。
0096nobodyさん
2008/04/13(日) 13:28:26ID:???いい加減PEARはスレ違いだっつうの
0097nobodyさん
2008/04/13(日) 13:37:47ID:???任意の引数でタイムスタンプ作成する、dateの逆関数みたいなものって無いものかね
mktimeより楽に使えると思うのだがどうか。
$timestamp=inv_date('08年04月13日13時40分','y年m月d日H時i分');
みたいな
0098nobodyさん
2008/04/13(日) 13:41:24ID:???0099nobodyさん
2008/04/13(日) 13:48:35ID:???HACKER SAFE使ってたって書いてあるけど、
ああいう外部からのチェックサービスって
結局CGIプログラムのソースコードは見ないんだろうから、
その中にある脆弱性には甘いんだと思うよ。
色んなサービスを動かすサーバ建てて、
その中に脆弱性のあるバージョンや機能が無いか調べるには良いと思うけど。
0100nobodyさん
2008/04/13(日) 14:55:35ID:/XYVoWCvすみませんでした。
0101nobodyさん
2008/04/13(日) 16:58:04ID:mSGmcBg3たとえば、数十個のディレクトリ名を定数として利用する場合、配列でなくdefineでも問題ないと思いますが、
状態遷移に必要な情報を管理する多次元の配列の定数が必要な場合、どのようにするのがベターなのでしょうか?
・グローバルなところに変数として置く(現在はこの考えを利用)
・オブジェクト定数で管理
・XML/YAMLなどでデータ分離
あたりが思いつくのですが、常套手段などがあったらご教授お願いします。
0103nobodyさん
2008/04/13(日) 18:29:39ID:cn35Eo4dord()とchr()を使用することでバイナリの扱いを解決することができました。
答えてくださった方々、ありがとうございます。
もうひとつ質問なのですが、phpの配列の要素数に上限はあるのでしょうか?
要素数が100000くらいのときはプログラムが正常に動くのですが、
要素数が1000000くらいになると途中でプログラムが止まってしまいます。
どなたかご存知であれば教えてください。
お願いします。
0104nobodyさん
2008/04/13(日) 18:56:04ID:cn35Eo4d追記します。
このようなプログラムを組んでおり、
容量が1MBを超えるようなファイルだとプログラムが途中で止まります。
$fno = fopen("sample.mp3", 'rb');
while (!feof($fno)) {
$data[] = fread($fno, 1);
}
fclose($fno);
0105nobodyさん
2008/04/13(日) 19:33:29ID:???[PHP] 配列に値を入れていくとエラーになりプログラムが落ちます。
http://q.hatena.ne.jp/1145420732
と同じ現象じゃないかな。
つまりPHPスクリプト一つに許可されている使用メモリ量をオーバーしているんだと思うよ。
デフォルトでは8MBか16MBに設定されているらしいのに、
たった1Mのファイルでオーバーしちゃうなんておかしいと思われるかも知れないけど、
PHPは配列の要素毎にも変数の型を持っているだろうから、余計にメモリを食っちゃうんだろうね。
単純に読み込んだデータにバイト単位でアクセスしたいのなら、
$data = fread($fno, filesize("sample.mp3"));
として一つの変数へ一気に読んじゃえば、配列と同じに$data[0]って感じで読めるんじゃない?
上のは試してないから嘘かもしれないけど。
0106nobodyさん
2008/04/13(日) 21:43:31ID:RGnLfYK/NOTE: You must have cookies enabled to use setup and header admin!*
ブラウザ側ではクッキーは有効にしてるんですが・・・・どうすればいいでしょう?
0107nobodyさん
2008/04/14(月) 00:14:07ID:???http://www.borujoa.org/upload/source/upload18138.zip
0108nobodyさん
2008/04/14(月) 00:42:56ID:???0109nobodyさん
2008/04/14(月) 00:46:10ID:???0112nobodyさん
2008/04/14(月) 11:41:38ID: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
0113nobodyさん
2008/04/14(月) 14:26:42ID:???PHP5に元から入っているSQLiteのバージョンは2ですよね?
これを、バージョン3にしたいのですがインストールがいまいち分かりません。
環境は、WinXP Apache2 PHP5 です。
DB板に書くべきか悩みましたが、
PHP関係なのでこちらに書きました。
■ このスレッドは過去ログ倉庫に格納されています