【PHP】下らねぇ質問はID出して書き込みやがれ 85
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/06/15(月) 22:53:52ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 84
http://pc11.2ch.net/test/read.cgi/php/1240835951/
◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0616nobodyさん
2009/07/17(金) 02:40:25ID:???どうしてご指名なのかは知らんが、getでパラメータ渡してんじゃねーのかな。
その携帯に送られてきたURL晒してみ?
0617nobodyさん
2009/07/17(金) 02:52:05ID:???簡単にいうと、カプセル化、ポリフォーフィズムかな。
完璧に動き、仕様変更は絶対ないという前提なら、それでもいいかもしれん。
2-3行で利点を説くのは難しいわい
0618nobodyさん
2009/07/17(金) 03:13:04ID:???面白いこと考える奴がいるんだね、商売上手だなぁ
WebProg 初心者の質問スレで質問すべきだと思うけど。
その携帯に送られてきたURLにユニークのgetパラメータがついてるんだよ
で、それをクリックするとリンクした先のページでそのパラメータを判別して
それに応じた書き込みデータを投稿するようになってるんだと思う
(きっと送信完了画面にはあれこれ広告が貼り付けてあるだろうねw)
0619593
2009/07/17(金) 09:41:13ID:189Q4h2A0622nobodyさん
2009/07/17(金) 11:03:34ID:???0623nobodyさん
2009/07/17(金) 11:14:33ID:???オブジェクト指向ねぇ。
ユーザー定義関数としてまとめてるでしょ?
いろんなプログラムで汎用的に使う関数は
きっと別のファイルに分けてまとめているはず。
オブジェクト指向は、このまとめ方をさらに発展させたものだよ。
いろいろごちゃごちゃ言う人いるけどねw
0624nobodyさん
2009/07/17(金) 12:01:11ID:???データと関数をまとめただけとか低レベルすぎ
0625nobodyさん
2009/07/17(金) 12:23:31ID:???そこを言えよw
0626nobodyさん
2009/07/17(金) 12:28:29ID:+Z3bH2zE【PHPのバージョン】php5.30
<?php
//setting.txtの読み込み
{
$setting_txt = file( 'setting.txt' );
foreach( $setting_txt as $setting ){
$setx = split("\n", $setting);
$set[$setx[0]] = $setx[1];
unset($setx);
}
}
?>
これを実行すると
Warning: implode() [function.implode]: Invalid arguments passed in X:/index.php on line 6
Warning: implode() [function.implode]: Invalid arguments passed in X:/index.php on line 6
何か根本的な勘違いをしてるような気がするのですが
自分ではわかりません指摘していただけると嬉しいです
0627nobodyさん
2009/07/17(金) 12:32:19ID:WCCLHa3V心配しているのが、大量のファイルを悪意でアップロードされた場合に、
どのように防ぐか悩んでいます。
最大アップロードサイズを指定しても、それに満たないサイズで、
大量にアップロードされた場合に防ぐ方法が分かりません。
質問1:
クライアントからアップロードされたファイルを一時ファイルに置く処理(upload_tmp_dirで指定された場所に置く処理)は、
どのタイミングで行なわれるのでしょうか。
悪意のユーザーと分かった時点で、アップロード中に処理を切りたいと思います。
質問2:
upload_tmp_dirに置かれた一時ファイルは自動的に削除されますか?
Windowsでは、アップロードされた一時ファイルが探しましたがありませんでした。
「C:\WINDOWS\Temp」のところを見ました。
スクリプトの処理が終わると自動的に消去される仕組みでしょうか。
宜しくお願いします。
0628nobodyさん
2009/07/17(金) 12:33:00ID:???0629nobodyさん
2009/07/17(金) 12:34:15ID:???悪意のユーザってどうやって判別するの?
一時ファイルを削除するのはOSの仕事じゃないですかね.
まぁ別にPHPから削除してもいいと思うけど
0630nobodyさん
2009/07/17(金) 12:56:05ID:WCCLHa3Vレスありがとうございます。
悪意のユーザを判定する一つとしては、
小さいファイルを何回も何回も短時間にアップロードを繰り返すようなケースでしょうか。
そのほか、サーバーに負荷が掛かるようなケースに制約を掛けたいと思います。
0632nobodyさん
2009/07/17(金) 13:09:01ID:WCCLHa3Vそのように信じたいのですが、
暇なユーザーかどうか分かりませんが、
毎日毎日届くスパムメールやウィルスなどのことを考えると、
セキュリティーのために、予算の許す限りで考えられる得る対策はしたいと思っています。
0633nobodyさん
2009/07/17(金) 13:23:17ID:???そのようなシステムかな?
無駄に制限をつけるのなら、最初からそのシステムの思想に
欠陥が在るように思えるが、いかがか?
0634nobodyさん
2009/07/17(金) 13:27:28ID:???×アップローダがブログの画像投稿
○アップローダかブログの画像投稿
文章を間違えました。
アップローダならばDBにアップロード時刻を保存して時間で制限をかける
画像投稿ならファイルサイズにて制限と思いますが、
細かいファイルのやり取りで制限をつけるなら、クッキーで
カウントさせて回数を制限させるのが簡単と思います。
それではダメですか?
0635nobodyさん
2009/07/17(金) 13:36:55ID:???継承とか、オーバーライドとかオーバーロードを理解すると便利さが分かるかもしれない。
でも、現時点で困ってないならいらないんだと思う。
複数人での大きめの開発とかだと有効だけど、一人で書く分にはそれほど効果は上がらないかも。
0636nobodyさん
2009/07/17(金) 13:47:10ID:???セキュアな機能は多くの場合無駄にはなるが、
その無駄が正常なシステムの運用を支えるのであって、
その無駄を欠陥と考えるのは、平和主義者の素人だな。
0637nobodyさん
2009/07/17(金) 13:51:51ID:???0638nobodyさん
2009/07/17(金) 14:31:47ID:F6lKm6fiというような設定はできますでしょうか?
例えば、test.htmlが、
<html>
<body>
<?php
echo phpinfo();
?>
</body>
</html>
であったとしても、拡張子がhtmlなのでecho phpinfo();は実行されない
という感じです。
よろしくお願いします。
0639nobodyさん
2009/07/17(金) 14:35:26ID:???それはPHPとは関係ない
Webサーバ側の設定でしょ(htaccessとかの話)
深読みしてPHPのソースを表示したいなら
拡張子phpsにする
htaccessにAddType application/x-httpd-php-source .phpsを追加
0640nobodyさん
2009/07/17(金) 14:39:17ID:???シス管がシステムをしっかりと安定させてトラブル対策を少なくしているより
トラブル発生しまくりで対応に動いている方が働いていると思われるのと同じだよな
0641nobodyさん
2009/07/17(金) 17:07:31ID:NiuWIla/$data["test"] = "123";
$data["abc"] = "456";
$after = preg_replace("/(http:\/\/www\.example\.com\/\?file\=)([\w\-\.!~\*'\(\)%#]+)/","変換後",$befor);
echo $after;
$afterが「123<br>456」のように
変換後の部分を$2の拡張子を取った $data["$2"] のようにしたいのですが$2を文字列として上手く利用できません
どなかご教示出来ますか?
0642nobodyさん
2009/07/17(金) 17:50:12ID:raMKvGDhまたはゼンドガードに代わる暗号化ソフトやコンパイラ無いですか?
ソースが見えるのはともかく、データベースのパスワードも丸見えなのはセキュリティ上どうかと思います。
あとユーザー関数を使う度に呼び出すのではなく常にメモリ上に置いておきたいのですが
そういうのできますか?
0644nobodyさん
2009/07/17(金) 17:56:15ID:kh/NJMurオワビニ、ライチモテキタヨー
ウレチーライチシュキダッタヨネ!
キョウモ、イッパイモッテキタヨー
0645nobodyさん
2009/07/17(金) 17:57:02ID:kh/NJMur0648nobodyさん
2009/07/17(金) 19:51:26ID:???0649nobodyさん
2009/07/17(金) 20:04:21ID:???公開FTPにおいてあるとか人為的流出ならマヌケと言わざるをえないけど
しっかりとした対策をした上でサーバの脆弱性を突かれて見られてしまったとかなら
もうそれはどうしようもない話
レンタルサーバならなおさら
DB鯖の脆弱性ついて直接ハッキングされるなんて可能性も捨てきれないわけで
通常運営するにあたってちゃんとした対策しができてるならそれ以上の過度な対策は必要ない
やっても無駄だから
0650nobodyさん
2009/07/17(金) 20:11:54ID:???心配するほど
人来ない
orz
0651nobodyさん
2009/07/17(金) 22:42:09ID:vZoTOxod$id = $_POST['id'][$i]; //3を返す
$var = "DB_lessonPic".$id;//DB_lessonPic3を返す
$_POST['{$var}']; で3を返すようにしたいですがうまくいきません
どうしたら良いでしょうか?
0652nobodyさん
2009/07/17(金) 22:47:15ID:???強いて言うなら、$_POSTはスーパーグローバル変数なのでコード内でキーや値を変えないほうがいいです
0653nobodyさん
2009/07/17(金) 22:53:19ID:???を突っ込んで、それに応じたXだけを返すようにしたいんだろう。
何でそんなことをしたがるのかは別のエスパーのために取っておく。
0654nobodyさん
2009/07/17(金) 22:55:54ID:vZoTOxodどうもありがとうございます
フォームのnameとして
DB_lessonPic1,DB_lessonPic2,DB_lessonPic3,,,って感じに末尾の数値が変わるものがあるんですが
受けてで、それぞれのvalueを取得したいんです。
ただ末尾の数値が何になるかは動的なものなので($_POST['id'][$i]のvalueに決定される)
$var = "DB_lessonPic".$id;
$_POST['{$var}'];
これでうまくいくかなと試してみたけど失敗してる次第です
ダメなのかな
0655nobodyさん
2009/07/17(金) 23:25:13ID:???とりあえずエラーでてるならかきなよ
シングルクオートでは{}は使えない
ようするに$_POST["{$var}"]としないとだめ
$varがStringならそのまま$_POST[$var]でいい
まぁ何がしたいんだかよくわからないけど
$_POSTには連想配列でPOSTされた値が入ってるから
$_POST[x]がわからなくても
foreach ($_POST as $key => $value) {
echo $key;
}
これでわかるはずだ
0656nobodyさん
2009/07/17(金) 23:27:59ID:???$_POSTには連想配列でPOSTされた値が入ってるから
↓
$_POSTには連想配列でPOSTされたキーと値が入ってるから
0657nobodyさん
2009/07/17(金) 23:45:23ID:vZoTOxodなるほど、参考にさせていただきます
ありがとうございます!
0658nobodyさん
2009/07/18(土) 09:15:53ID:wE0p3a0A0659nobodyさん
2009/07/18(土) 10:53:15ID:FK9dZ1QCPHP5.2.0の開発でオブジェクトとして扱える配列みたいな感じで
使ってみてたんですが、
php5.1.6では
$array['hoge']['hoge'] = 'hoge';
みたいな連想配列的な代入をするとエラーになるんですよね。
PHP Fatal error: Objects used as arrays in post/pre increment/decrement must return values by reference
これの原因や対処法などお教えいただけないでしょうか…。
0660nobodyさん
2009/07/18(土) 12:24:22ID:???0661nobodyさん
2009/07/18(土) 17:51:24ID:pPEtcMUp以前どっかのブログか何かに掲載されていたのですが、見つけられません。
知っているかた教えてください。
0662661
2009/07/18(土) 17:56:26ID:pPEtcMUp0663nobodyさん
2009/07/18(土) 18:10:07ID:???0664nobodyさん
2009/07/18(土) 20:00:39ID:???0665nobodyさん
2009/07/19(日) 05:02:12ID:eVfI2UBD【PHPのバージョン】php5.26
【連携ソフトウェア】なし
【質問内容】
簡易掲示板を作成しているのですが質問があります。
テキストファイルで読み込んだ内容をhtmlで出力し、
出力した内容の横にテキストエリアを設置して、そのテキストエリアに書き込みをし、
保存ボタンを押すと保存され、日付と共に出力されるようにしたいのですが、うまくいきません。
どのようにすれば同一php内でこういう処理ができるのでしょうか?
読み込むファイル、phpファイルは以下のような内容です。
読み込みファイル data.txt
A田A男
B川B太郎
C上C子
D山D絵
本体PHPのhtml出力部 sc.php
サークル 一言コメント
氏名
A田A男 [来週火曜日は試験があるから参加できません!ごめん!]2009/7/19
B川B太郎 [金曜の飲み会出席する人、メール頂戴 → bkawabtarou@bocomo.ne.jp]2009/7/13
C上C子 [ ] //書き込みなし
D山D絵 [夏休み合宿の詳細、誰か教えて!] 2009/6/21
こんな感じです。
0666nobodyさん
2009/07/19(日) 05:18:16ID:56+I2Wt4「うまくいきません」ってことは、
「うまくいくはずなのに」と思ってるスクリプトがすでにあるのかな?
だとすれば、その大まかな流れでも書いてもらえると参考になります。
それとも、「うまい方法が思いつきません」って意味なのかな?
その場合は、「○○しようとすると○○なのでダメだ、うーむ」みたいな、
これまで悩んだ過程や現状の悩みを書いてくれると参考になります。
0667nobodyさん
2009/07/19(日) 05:32:26ID:eVfI2UBD説明不足で申し訳ありません。
スクリプトは自分で書いていっています。
現在、テキストファイルを読み込んでhtmlに出力されるところまでは
完成していて普通に動作しているのですが、書き込みの部分を
どういう風に処理してよいのかわかりません。
なのでうまい方法が思いつきませんの方が正しいです。
考えているのは、配布されているフリーの掲示板のように書き込んだ内容を
datファイルなどに保存をして、phpを開くたびにdatファイルを読み込み、
それぞれの人物のテキストエリアの内容と日付を表示させるようにしたいのですが、
この場合、A田A男の人物IDかなにかを設定して、A田A男のidが1ならば、
datファイルには1、コメント内容、書いた日付 的な物を書き込んで、読み込ませるようにしたら良いのでしょうか?
また、保存ボタンを押した場合、どのようにすればphpのhtml部を更新し、datファイルにデータを書き込みできるかでも悩んでいます。
長文ですいません。
0668nobodyさん
2009/07/19(日) 05:32:32ID:???0669nobodyさん
2009/07/19(日) 07:52:27ID:56+I2Wt4>>665を見る限り、実現したいのは「各メンバーの近況ひとこと欄」的な仕組みでしょうか?
最新1件しか表示しなくていいのなら、ほぼそのまま以下のテキストファイルを保存しておくのが簡単かと思います。
> A田A男 [来週火曜日は試験があるから参加できません!ごめん!]2009/7/19
> B川B太郎 [金曜の飲み会出席する人、メール頂戴 → bkawabtarou@bocomo.ne.jp]2009/7/13
> C上C子 [ ] //書き込みなし
> D山D絵 [夏休み合宿の詳細、誰か教えて!] 2009/6/21
その際、過去ログ用のファイルも別途用意して両方のファイルを書き換えるようにして、
過去ログのほうには「日付,氏名,コメント」のような記録が各行に並んでいれば扱いやすいでしょう。
>>667の最後に書かれた悩みは「マニュアルのファイルシステム関数読め」でおk?
使うのはたとえばfile()とかfwrite()とか。またはfile_get_contents()とかfile_put_contents()とか。
ただ、自分が作るならデータベースを使います。
0670nobodyさん
2009/07/19(日) 10:51:12ID:???想定しなくていいの?
0671nobodyさん
2009/07/19(日) 11:15:25ID:???ファイル使うと、ファイル形式云々かんがえなきゃいけなかったけど、
今はYAML使えばいいじゃんって感じで。
たいていの言語からでも読み書きできるから汎用性あるし、
読みやすい、書きやすいし、データを簡単に自由なデータ構造に出来る。
遅いって問題があるけど、それはserializeでキャッシュにしてしまえばいいし。
0672nobodyさん
2009/07/19(日) 11:53:38ID:???仕方なくファイルに吐くにしても使い回しを考えてXMLとかJSONだし。
0674nobodyさん
2009/07/19(日) 14:33:46ID:???SQLなんて忘れてしまうよw
普通はO/R使うんでな。
0675nobodyさん
2009/07/19(日) 14:56:26ID:???0676nobodyさん
2009/07/19(日) 15:19:31ID:???SQLの改善費用だけで2500万とかうちの会社はホント恥ずかしい
O/Rはともかく、未だにEXPLAINすら知らない開発者は多い
0678nobodyさん
2009/07/19(日) 18:03:43ID:???0679nobodyさん
2009/07/19(日) 19:47:22ID:???お前らも俺もコーディングの正確さ・美しさに捕らわれすぎ
0680nobodyさん
2009/07/19(日) 20:38:41ID:???0681nobodyさん
2009/07/20(月) 00:02:29ID:NuDmDR7p・料理名(必須入力)
・作り方文章(必須入力)
・写真一枚(任意入力)
・写真の解説(任意入力。写真がない場合は出力しない「三つ葉を散らすと見た目も綺麗です」みたいな感じ)
この場合、「写真の解説」の出力判別用に、登録時にpic_upload = 1のようなカラムをDBに用意・insertして
それを判別するべきでしょうか?
該当ファイルが存在するかどうかをfile_exists();で確認して出力するしないを決めても良いかと思ってたんですが
ヘタなやり方だったかもと悩んできました
皆さんならどんなやり方にしますか? ご意見お願いします。
0682nobodyさん
2009/07/20(月) 00:14:57ID:mGSM8h71そういう質問するってことは、画像ファイル名は(id).jpgみたいに自然に定まる仕組みなのかな。
そうだとしても、pic_uploadとかやるよりはファイル名ないしパスを入れるカラムを作っといたほうがいいと思うな。
0683nobodyさん
2009/07/20(月) 00:36:00ID:???0684nobodyさん
2009/07/20(月) 00:36:51ID:NuDmDR7pなるほどー、それは確かにそうですね!
思いつかなかった。今まで画像までのパスを生成する関数をいちいち動かしてました
そうした方が全部一発で出来ますね!
ありがとうございました!
0685nobodyさん
2009/07/20(月) 01:55:21ID:81Sgp959レスが遅れて申し訳ありません。
各メンバーの近況ひとこと欄でほぼ間違いはありません。
Web上に存在する1行掲示板スクリプトを参考に、とりあえずコメントだけでも、
書き込みと更新ができるようにと色々改造を施してみたのですが
ファイルを読み込んで表示するだけで、内容の更新ができませんでした。
元となったスクリプトは、http://wakusan.com/programinng_PHP/one_bbs.htm ですが
これを参考に書き換えたのがこれです。
http://kissho.xii.jp/1/src/1jyou84526.zip.html
どのようにすれば更新ができるようになるのでしょうか?
>>670
その辺は想定しなくて大丈夫です。
0686nobodyさん
2009/07/20(月) 02:00:05ID:???ファイルがアップロードされたかどうかを判定する為にだけ使用する、という認識で良いですか?
$_REQUEST["up"]
0687685
2009/07/20(月) 02:00:29ID:81Sgp9590688nobodyさん
2009/07/20(月) 02:03:45ID:???0689nobodyさん
2009/07/20(月) 02:06:06ID:???そりゃそのスクリプト書いた人の意図によると思うけど
おそらくはGETかPOSTでupを送っておいて
処理先のスクリプトでupを確認してアップロード処理を行うっていう
よくある手法じゃないかな
>>687
A田A男さんは1行目とか決めておいて更新が来たら1行目を書き換えればいいんでね?
0690nobodyさん
2009/07/20(月) 18:51:36ID:LTJd3lAbPHPでjavascriptにあるsettimeoutみたいなのありませんか?
ある時間になるとその時間に合わせて、PHPで作成したデータを元に表を更新するというものです
javascriptで作成した時計の部分はsettimeoutを使って1秒ごとに更新されていいのですが、
当然ながらその部分だけ更新されて、ページ全体は更新されないので・・・
何かいい方法はないですか?お願いします
0691nobodyさん
2009/07/20(月) 19:10:37ID:???0693nobodyさん
2009/07/20(月) 19:28:53ID:???crond用のプロセスを作って、そこが参照する設定ファイルをPHPから
更新するなどの方法はある。けど、ブラウザ上の再読み込みを行いた
いなら、やっぱり settimeout をPHPで吐くか、または、
<meta http-equiv="refresh" content="時間,URL">
などのヘッダを使って強制的に再読み込みをするなどがいいと思う。
0694nobodyさん
2009/07/20(月) 20:02:55ID:LTJd3lAb>>693
>settimeout をPHPで吐く
というのはどのようにすればよいですか?
最悪metaで強制的にしますかねー ヘッダを全ページで共有して使っているので考え物ですが
0695nobodyさん
2009/07/20(月) 20:12:54ID:???metaタグのrefreshでリロードさせるか、javascriptでリロードさせるしかない。
ヘッダを全ページ共有ってtitleとかも共有なのか?titileはページ毎に置換してない?
つまりそのページだけrefreshのmetaタグを置換して入れればいい
0696nobodyさん
2009/07/20(月) 20:16:56ID:mGSM8h71あなたにとってPHPが
「とりあえず今回動けばいいブラックボックス」ではなく、
「難しいけど今後とも活用していきたい道具」であるならば、
以下を参考にがんばるか、以下を理解できるようになるまで本を読もう。
http://jp.php.net/manual/ja/language.variables.external.php
http://jp.php.net/manual/ja/language.types.array.php
http://jp.php.net/manual/ja/book.filesystem.php
http://jp.php.net/manual/ja/function.print-r.php
0697nobodyさん
2009/07/20(月) 20:22:42ID:LTJd3lAbヘッダとフッタはそれぞれ1つのファイルを共有して各ページは中身(コンテンツ)だけ変更するような形でやってるんですよ
ちょっと特殊ですが なんでタイトルとかは全部同じです
今試しにmetaでやってみたんですが、更新ボタンを押してる感じがあるんでちょっと
上にも書いたんですけど今はjavascriptの時計の関数をonload=settimeout1秒ごとという仕組みにしてるんですけど、
全体は難しいですよね PHPとjavascriptじゃサイドが違うんで・・・
0698nobodyさん
2009/07/20(月) 20:44:06ID:???0699nobodyさん
2009/07/20(月) 20:46:49ID:???リロードさせるんだから、更新ボタンを押してる感じがあるのはしょうがない。
それが嫌なら、>>698 さんが言うようにajaxになるな。
0700nobodyさん
2009/07/20(月) 20:51:21ID:LTJd3lAb聞いたことはあるんですけど、全然知らないんですよね^^;
とりあえず調べてみます
参考になるページがあればお願いします
0702nobodyさん
2009/07/20(月) 21:47:10ID:???連想配列じゃなくて配列の配列
これは ArrayAccess のシグネチャと Zend Engine の参照渡し・戻しに関する問題らしい
配列の要素がオブジェクトなら常に参照扱いなので気にしなくて済む
// ○5.2.0, ○5.1.6
$a = new ArrayObject();
$a[0] = new ArrayObject();
$a[0][0] = 1;
// ○5.2.0 ×5.1.6
$a = new ArrayObject();
$a[0] = array();
$a[0][0] = 1;
0703nobodyさん
2009/07/22(水) 15:49:48ID:4ehWfJJ0PHPをパースする全てのページのフッタに著作権を自動挿入したいです。
mod_layout以外で何か方法はありますか?
0704nobodyさん
2009/07/22(水) 16:04:30ID:8OvKTpgg小手先でやるならregister_shutdown_function()とか。
0705nobodyさん
2009/07/22(水) 19:17:52ID:???複雑なJOINとかができる必要はないのですが、
プリペアドステートメントを使って、安全にWHERE文を追加していけるものがいいです。
Zend_DBとかSymfonyのDoctrineとかいろいろあると思うのですが、
独立して組み込めるものが望ましいです。
SQL文だけ組み立てて、実行自体は今まで使ってきたMDB2でできればなおいいです。
よろしければ教えていただければと思います。
よろしくお願いします。
0706nobodyさん
2009/07/22(水) 19:31:26ID:???もっと抽象的にやりたかったらこれ使ってさらに関数でも
クラスでも作ればよかろ
0707nobodyさん
2009/07/22(水) 20:00:53ID:???0708nobodyさん
2009/07/22(水) 23:44:43ID:???今はDoctrineがナウい
もちろんこいつ自体は独立して組み込める
ZendFramework+Doctrineも流行っている
0709nobodyさん
2009/07/23(木) 00:02:49ID:???0710nobodyさん
2009/07/23(木) 06:38:49ID:3HKcBquf説明不足の部分まで汲んでもらってありがとうございます!
なるほどです…。
PHP5.1 or 5.2の辺りで世間のインストール状況に一つ壁があると思うので
動作テストうんぬん考えるとArrayObjectってちょっと使いにくい感じかもですね。
0711nobodyさん
2009/07/23(木) 09:40:42ID:???QueryToolはプリペアドステートメントが使えないんですよね…。
もちろん、これを自分用に改修することはさほど難しくはないと思いますが、
既に実用に耐えているライブラリがあれば、そちらを使いたいと思いました。
>>707
Zend_Dbは、オブジェクト生成の際にホストまで設定しないといけないのが、
私にとってはネックになります。
自分で使う分にはすごくいいライブラリだと思うのですが、
現在会社で使っているフレームワーク上、それができないのです…。
(できなくはないけど、記述があちこちでばらけて後々面倒)
なので、SQL文を動的に生成し、それを文字列として取り出せるものが必要なのです。
>>708
Symfonyはセットアップが面倒なイメージがあったのですが、
独立して組み込むこともできるんですね。
ドキュメント等読んで調べてみようとお見ます。
皆さんありがとうございました。
0712nobodyさん
2009/07/23(木) 13:34:09ID:afGBhoweforeach ($var_names as $key => $value ) {
global $$value;
if (!isset($_SESSION[$value])){
$_SESSION[$value]= $$value;
}
}
}
というコードがあるんですけど、これは
・register_globals が設定されてなければ(つまりoffであれば)、
・配列$var_namesに入っているグローバル変数名を調べて、
・その名前と値を$_SESSIONに追加する
という理解でよろしいでしょうか。
またこの理解が正しいとして、なぜこんなことをしているのか分かる方はいませんか。
register_globalsがonのときなら、このような動作もわからなくはないのですが、
offのときにあえてこんなことをする理由がわかりません。
0713nobodyさん
2009/07/23(木) 13:43:15ID:???0714nobodyさん
2009/07/23(木) 14:28:45ID:t5/aDE1Aあれってsmatyとかフレームワークとか使ってんの?
小遣い稼いでる奴いたら教えて。
普通に働いてる奴も教えて。
■ このスレッドは過去ログ倉庫に格納されています