1 名前:● mailto:sage [2009/10/11(日) 21:18:54 ID:???] 質問者はまず>>1 を良く読むこと(必須!) 過去スレ、関連スレ、FAQなどは>>2-10 辺り 次スレは>>980 が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。 ◆前スレ 【PHP】下らねぇ質問はID出して書き込みやがれ 88 pc11.2ch.net/test/read.cgi/php/1253061577/ ◆質問用テンプレ 【OS名】vine linux 【PHPのバージョン】php5.26 【連携ソフトウェア】mysql 【質問内容】 ◆質問する時の注意 ・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す) ・ 己の行った操作、変更などを詳しく明記すること。 ・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。 ・ 質問者として、態度をわきまえること。 ・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。 (PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。) ◆質問後の注意 ・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。 ・解決しなくても回答をもらった場合はお礼を言うこと。 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。) ◆回答者への注意 ・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。 【その他諸注意】 ・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
4 名前:nobodyさん mailto:sage [2009/10/11(日) 21:19:17 ID:???] 【簡易FAQ】 1.文字コードは何を使えばいいの? →1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。 2. このスレに書き込むときに自分のサイト名を晒したくない → example.com/ が例文などのために予約されている。hogehoge.comは使っちゃダメ。 3. ブラウザに何も表示されないんだけど・・・ → Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか? 4. 記号の意味がわからないけどググりようがない → 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、 「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較 5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった → {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする 6. 一定時間ごとに自動的に何かしたいんだけど → cronかタスクスケジューラを使え。 7.extractって危険なの? →変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。 8. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい → URL呼び出しなら可能だけど、普通のファイル呼び出しではできません 9.include/requireでURLを指定しても何も起きない → .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
5 名前:nobodyさん mailto:sage [2009/10/11(日) 21:19:22 ID:???] 10. そもそもインストールの時点でうまくいかない → 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、 Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり 11. SQLの質問はどこで? → データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する 12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの? → ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。 13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい → 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター 14. echoとprintってどう違うの? → よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。 www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40 15. クッキーの情報をユーザから隠したい → セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな 16. strip_tags()で削除しないタグを複数指定したい → strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし 17. CSVやTSVのファイルをスマートに扱いたい → まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。 18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い → C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする 参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと 19. ファイル入出力関数(fopen等)でリモートファイル(http://〜とか)を扱う際の限界 → fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決 必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる 20. PHPからPOSTリクエストしたい →19.を参照 21. 画像処理一般 or GDの限界 → ImageMagick(PECLのやつ or シェルから実行) 22. 画像・音・動画はファイルで保存?DBに保存? → 好きにしてください
6 名前:nobodyさん mailto:sage [2009/10/11(日) 21:20:11 ID:???] おわり
7 名前:nobodyさん [2009/10/11(日) 22:05:52 ID:2KRfPF1l] ここは >>1 乙 とか書いてもいいスレですか?
8 名前:nobodyさん [2009/10/11(日) 22:23:09 ID:???] >>4 > → {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする ちょう気になります。
9 名前:nobodyさん mailto:sage [2009/10/12(月) 12:12:33 ID:???] テンプレにphp5.2→php5.3の違いも書いて欲しかった
10 名前:nobodyさん mailto:sage [2009/10/12(月) 12:17:51 ID:???] キミが書くんだよ
11 名前:nobodyさん mailto:sage [2009/10/12(月) 13:22:58 ID:???] 10が書いてくれるって
12 名前:nobodyさん mailto:sage [2009/10/12(月) 15:07:24 ID:???] 今時新たに5.2入れることなんてあるのか?
13 名前:nobodyさん mailto:sage [2009/10/12(月) 15:28:16 ID:???] 4も5もいっしょやんけ
14 名前:nobodyさん [2009/10/12(月) 18:13:58 ID:VqENsVDc] よろしくお願いします。 連想配列の値をforeachで取り出して、データベースへ インサートすると上手くいきません。 DBへの挿入自体は、出来るのですが、繰り返しているために レコード自体が、要素の分だけ増えてしまいます。 (値が20あると、DBの行も20だけ増えてしまいます。) where句を加えてみても、良い結果になりません。 どうしたら、1行(1 row)に収められますか? foreach ($data as $key => $val){ $ret = mysql_query("INSERT INTO table ($key) VALUES ($val)"); }
15 名前:nobodyさん mailto:sage [2009/10/12(月) 18:21:33 ID:???] update
16 名前:nobodyさん mailto:sage [2009/10/12(月) 18:49:24 ID:???] それだけじゃ何がしたいか分からんよ
17 名前:nobodyさん mailto:sage [2009/10/12(月) 18:57:58 ID:???] 分かるよ implode(',' $data) ってことでしょ
18 名前:nobodyさん mailto:sage [2009/10/12(月) 19:10:59 ID:???] String連結して1文にすればいいじゃないか valはis_stringやis_int使って型分けしたほうがいいと思うが INSERT INTO table (key1, key2, keyn) VALUES (val1, val2, val3); ていうか全部増えるってNOT NULL制約はつけてないのか?それともDEFAULT入れてるのか? テーブル設計見直したほうがいいんじゃね
19 名前:nobodyさん [2009/10/12(月) 19:42:03 ID:VqENsVDc] >>14 です。 レスありがとうございます。 質問の仕方がわかりづらかったみたいですみません。 文字の連結ではないです。それだと列にまとまってしまいます。 現状は、行(レコード)が増えてしまう。たとえるなら、 碁盤の目の対角線上(左下→右上)のように、 値を入れるごとに、レコード自体がforeach のために、 1個ずつ増えてしまうのです。更に、わかりづらいかも。 >>15 さんのアドバイスのように、UPDATE で今やっています。 レコードのidを一個だけ増やして、その行をwhereで指定して そこをUPDATEする感じで。 idを増やすとこまではできました。UPDATEがまだできないですが、 もう少しで出来そうです。 ありがとうございました。
20 名前:nobodyさん mailto:sage [2009/10/12(月) 19:42:49 ID:???] 前スレ>>999 乙 まぁようするに適材適所だよな
21 名前:nobodyさん [2009/10/12(月) 19:51:55 ID:9W/f2NwM] 【OS名】CentOS 5.3 【PHPのバージョン】php5.1.6 【連携ソフトウェア】なし 【ブラウザ】Firefox3.5 【質問内容】 教えてください。PHP+Javascriptでcookieに値をセットしようとしています。 やりたいことはaaa.bbb.comにアクセスして、ccc.ddd.comドメインに対するcookieを保存することです。 ■存在するマシン ・ローカル端末 ・Webサーバ1(aaa.bbb.com)←ローカルホストにあるhttpdだが、hostsファイルを使ってこのような名前解決を可能にしている。 ・Webサーバ2(ccc.ddd.com)←ローカルLAN内のマシンで、hostsファイルを使ってこのような名前解決を可能にしている。 まずローカル端末からaaa.bbb.com/a.html にアクセスします。 a.htmlの中にはJavascriptが入っており、そいつはccc.ddd.comのa.phpにGETリクエストを飛ばすようにしています。 a.phpの中にはsetcookie関数が仕込まれており、これによってccc.ddd.comドメインに対するcookieをセットしようと 考えていますがうまくいきません。 続きます。
22 名前:nobodyさん [2009/10/12(月) 19:52:41 ID:9W/f2NwM] 続きです。 各ファイルの中身は以下のようになっています。 a.html =================================================================================================== <html> <head> <script language="Javascript" src="ccc.ddd.com/cookie.js " type="text/javascript"></script> </head> <body> <script type="text/javascript"> <!-- cookietest(); // --> </script> </body> </html> ===================================================================================================
23 名前:nobodyさん [2009/10/12(月) 19:54:17 ID:9W/f2NwM] 続きです。 cookie.js =================================================================================================== <!-- function cookietest(){ var url = "ccc.ddd.com/a.php "; var request = createXMLHttpRequest(); request.open("GET", url, true); request.send(""); } function createXMLHttpRequest() { if (window.XMLHttpRequest) { return new XMLHttpRequest(); } else if (window.ActiveXObject) { try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e2) { return null; } } } else { return null; } } ===================================================================================================
24 名前:nobodyさん [2009/10/12(月) 19:55:00 ID:9W/f2NwM] 続きです。 a.php =================================================================================================== <?php $timeout = time() + 30 * 86400; setcookie("cookie","value", $timeout, '/','ccc.ddd.com'); ?> ===================================================================================================
25 名前:nobodyさん mailto:sage [2009/10/12(月) 19:55:38 ID:???] そもそもCookieってサブドメイン毎に分けられるんだっけ
26 名前:nobodyさん mailto:sage [2009/10/12(月) 20:00:10 ID:???] いや、サブドメイン毎はできるような気がしてきた。 で、スクリプトでGETしたa.phpに対するレスポンスは誰が受け取るの? 元のUA? スクリプトでレスポンスヘッダをUAに転送しようとしてる?(できるの?) それともスクリプトで受けて(できるか知らんが)、jsで改めて同じcookieを 元のUAにセットしようとしてる? と流し見て思った。
27 名前:21 [2009/10/12(月) 20:00:57 ID:9W/f2NwM] >>25 理論的にはできるはずです。 実際にJavascript経由ではなく、直接a.phpにアクセスするとccc.ddd.comのドメインでcookieが保存されます。
28 名前:nobodyさん mailto:sage [2009/10/12(月) 20:02:57 ID:???] JavaScriptでは他のドメインにアクセスできない それが出来たら勝手にAmazonのカートに商品追加したりGmailの中身ぶっこ抜いたりできるから夢が広がるんだけどね
29 名前:21 [2009/10/12(月) 20:04:43 ID:9W/f2NwM] >>26 レスポンスは少なくともブラウザが受け取っていることは確認しました。(Live HTTP Headersというfirefoxのアドオンで確認しました。) その部分だけ抜き出すと以下のようになっています。 ---------------------------------------------------------- ccc.ddd.com/a.php GET /a.php HTTP/1.1 Host: ccc.ddd.com User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: ja,en-us;q=0.7,en;q=0.3 Accept-Encoding: gzip,deflate Accept-Charset: Shift_JIS,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Referer: aaa.bbb.com/a.html Origin: aaa.bbb.com HTTP/1.x 200 OK Date: Mon, 12 Oct 2009 05:51:27 GMT Server: Apache/2.2.3 (CentOS) X-Powered-By: PHP/5.1.6 Set-Cookie: cookie=value; expires=Wed, 11-Nov-2009 05:51:27 GMT; path=/; domain=ccc.ddd.com Content-Length: 0 Connection: close Content-Type: text/html; charset=UTF-8 ----------------------------------------------------------
30 名前:21 [2009/10/12(月) 20:13:00 ID:9W/f2NwM] >>28 そうなんですか…。 サードパーティcookieなんてものがあるので、こういうことも可能なのかと思ってました。
31 名前:nobodyさん mailto:sage [2009/10/12(月) 20:15:08 ID:???] レスポンス見るとちゃんと受け取ってるように見えるけど… もしかしてcccのCookieをaaaのドメインに向けて出したいと思っている? サブドメイン毎に分けられるなら、それができたらセキュリティホールになるんじゃあ… って気が
32 名前:nobodyさん [2009/10/12(月) 20:32:17 ID:9W/f2NwM] >>31 はい、ただこのやり取りは「Javascriptで」GET要求を出したものに対するレスポンスなので、そこでうまくブラウザ側にセットされていないのかもしれません。 また、cccのcookieをaaaドメイン向けに出したいと思ってはいません。 やりたいことはaaa.bbb.com以外に様々なドメインのサイトがあって、それらのページにはa.htmlのようにccc.ddd.comにアクセスするようなJavascriptを埋め込んでもらおうと思っています。 (要するに提携した各サイトへのアクセス状況をccc.ddd.comで収集するイメージです。) その際にそのアクセス情報をccc.ddd.comドメインへのcookieとして保存出来ればと思っています。
33 名前:nobodyさん mailto:sage [2009/10/12(月) 20:45:52 ID:???] >>32 単にリクエストを送るだけなら<iframe>とか<img>でやるのがいい。 たとえばGoogleはImage()でやってる。もちろんCookieもセットされる <script type="text/javascript"> new Image().src = "example.co.jp/ "; </script>
34 名前:nobodyさん mailto:sage [2009/10/12(月) 20:45:52 ID:???] なんかクロスドメインの制限があったような気がするけど、ローカルならクロスドメイン通せるのかな。 でも、クッキー受け取るのブラウザじゃなくて XMLHttpRequestのインスタンスで閉じてると思ったけど。
35 名前:nobodyさん mailto:sage [2009/10/12(月) 20:48:13 ID:???] ブラウザが受け取っているいないの判断は何でしてる? cccドメインのファイルにアクセしてみてもリクエストヘッダにCookieが入っていないってこと? あと他ドメインのCookieどうこうはクロスサイトの問題があるから直接jsじゃなくて、iframe経由 が基本だったはず。
36 名前:nobodyさん mailto:sage [2009/10/12(月) 20:58:02 ID:???] >>16 だから初心者が無理して回答するなよw
37 名前:21 [2009/10/12(月) 21:05:13 ID:9W/f2NwM] >>33 なるほど、cookie.jsの中をImage()に変更するとcookieが保存されました。 解決しました、ありがとうございました。 >>34 なるほど、そうなんですね。 インスタンスで閉じてるとすると、受け取った後の処理を書けばいいのかもしれませんが、とりあえずImage()でやることにします。 >>35 「ブラウザが受け取った」というのはLive HTTP headersの情報で判断していました。 なので正確には>>34 さんの言うとおりなのかもしれません。(勉強不足でした。) Imageじゃなくてiframeでも同様のことができるのですね。勉強になりました。ありがとうございます。
38 名前:nobodyさん [2009/10/12(月) 22:39:22 ID:bWWKsEMi] PHPでFTPアップロードしたいんですけど、 phpファイルのあるコンピュータ(apacheサーバー)からではなく、 他の、そのサイトをみてるPCから、 FTPサーバーにアップロードする方法ってありますか? あれば教えてください。
39 名前:nobodyさん mailto:sage [2009/10/12(月) 22:46:18 ID:???] >>38 jp2.php.net/ftp ほい
40 名前:nobodyさん [2009/10/12(月) 22:59:39 ID:bWWKsEMi] >>39 質問が悪かったかもしれないですが、 例えば、 jp2.php.net/manual/ja/ftp.examples-basic.php だと、 $source_file はphpがあるコンピュータ上のファイルだと思うんですが。 やりたいのは、そのサイトを見ているクライアントPC上のファイルの転送です。
41 名前:nobodyさん mailto:sage [2009/10/12(月) 23:03:36 ID:???] そのソースファイルを アップロードファイルにすれば済む話なのかな?
42 名前:nobodyさん [2009/10/12(月) 23:13:59 ID:bWWKsEMi] >>41 どういうことでしょうか?
43 名前:nobodyさん mailto:sage [2009/10/12(月) 23:16:23 ID:???] クライアントとFTPサーバ間の通信ならPHPサーバ関係あんの?
44 名前:nobodyさん mailto:sage [2009/10/12(月) 23:19:33 ID:???] クライアントにPHP入れればいいじゃん
45 名前:nobodyさん mailto:sage [2009/10/12(月) 23:23:48 ID:???] >>42 こっちが聞きたいんです。 何が分からないか分からないので。 <form enctype="multipart/form-data" method="post" action="example.php"> <input type="file" name="file1" > <input value="送信" type="submit"> </form> とかでサーバーにファイルをアップ出来ることわかればあとは組み合わせ。 それとも、それはあなたのやりたいことと違うのかな?
46 名前:nobodyさん [2009/10/12(月) 23:24:46 ID:bWWKsEMi] やりたいのは、動画とか比較的大きいファイルをアップロードしたりできる サイトを作ることで、それにはftpを使うほうがいいと思ったんです。 でも、phpが動いてるのはあくまでサーバー上ですので、 クライアント側のファイルをオープンするのは無理だと思うんです。 で、直接クライアントとftpサーバ間の通信ができる方法を知りたいのです。 >>43 分かりません。 >>44 上記の理由で、クライアントにPHPを入れるという以外の方法を探しています。
47 名前:nobodyさん mailto:sage [2009/10/12(月) 23:24:54 ID:???] 前のスレの続きだが、はっきり言って==を===にするとか、 以前にもっと早くする余地が残されているのが普通。 熟知している奴が、htmlを少しリファクタリングするだけで、 体感速度が改善されるし、リアルタイムで処理する必要がない機能を バッチ処理にするだけでもかなり改善される。 もちろん、SQL文の改善もしかりだ。 もっと効果が高い方法を考えなさい。
48 名前:nobodyさん mailto:sage [2009/10/12(月) 23:30:45 ID:???] 昔、ループの中で同じSQLを何回も発行している奴がいた。 あまりにも馬鹿すぎて、殴ったら、上司に呼ばれて停職になったが、 その停職期間中に始めた体験農業がきっかけで、 今はフリーのプログラマーへと変貌を遂げた。 そして、今年新品種のにんじんの栽培が農協から表彰を受けて、 年収が大幅にアップした。人生って何があるか分からんよ。 この早いwebの中で、変わらないことは即ちリスクであるってことよ。
49 名前:nobodyさん mailto:sage [2009/10/12(月) 23:30:48 ID:???] クライアントにFTPソフトを入れるでいいんじゃないの なんでHTTPじゃだめなのかな
50 名前:nobodyさん mailto:sage [2009/10/12(月) 23:30:51 ID:???] 本命のサイトと倉庫代わりのサイトを別けて使おうってことか なめてんな
51 名前:nobodyさん [2009/10/12(月) 23:36:52 ID:bWWKsEMi] >>50 倉庫代わりじゃなくて倉庫です。 どちらも自分のPCです。 ただ、場所が違うんですよ。
52 名前:nobodyさん mailto:sage [2009/10/12(月) 23:38:17 ID:???] >>46 webサーバー介在させたくないならPHPでは何も出来ません。 容量どれくらい想定してますか? ftpクライアントインストールさせられない、ブラウザに ftp://example.com とかも入力させられないなら、 javascriptのftpクライアントっていう変なのもあるけど、ちがうよね? https://fit.jupiterit.com/
53 名前:nobodyさん [2009/10/12(月) 23:52:47 ID:bWWKsEMi] >>49 ,52 アップロードしたときに別の処理もしたいからです。 例えば、データベースに入れたり・・・。 アップロードとは別に、定期的にDBを更新させるとかでもいいんですが、 より楽な方法があればと思ったわけです。 とにかく結局予想通り無理っぽいので、質問の意図も書いてみました。
54 名前:nobodyさん mailto:sage [2009/10/13(火) 09:20:35 ID:???] >>53 たしか何個かバックグラウンド処理させる方法あったよな おれがしってるのはキューを作る事 あとなにがあったっけか?
55 名前:nobodyさん [2009/10/13(火) 09:56:30 ID:Bgm/yHH7] PHPを用いたダウンロードカウンター「X-File Access Counter」 ttp://works.xworks.org/script/01php/xfile-access-counter/ これの非公開バージョンb090909 kissho.xii.jp/1/src/1jyou93396.zip.html ・DBにSQLiteを用いているのが特徴。 ・ベータ版のため、簡単に使える状態では無い。 誰か、使用方法、教えて下さい・・・。
56 名前:nobodyさん mailto:sage [2009/10/13(火) 10:00:40 ID:???] readmeのコード例を実行してDB作ってやるだけだろ
57 名前:nobodyさん mailto:sage [2009/10/13(火) 12:15:06 ID:???] 作った奴に聞け
58 名前:nobodyさん mailto:sage [2009/10/13(火) 12:20:54 ID:???] リコンパイルがわからねえならそのまま使っとけ 別にキーワードなんて使わなくても困らないだろ
59 名前:nobodyさん [2009/10/13(火) 16:03:10 ID:ajuLMPfn] 設置してあるphpってダウンロードする方法ってないですか? 中身を見てみたいのですが…
60 名前:nobodyさん mailto:sage [2009/10/13(火) 16:05:00 ID:???] >>59 それできたらまずいだろ・・・
61 名前:nobodyさん [2009/10/13(火) 16:10:32 ID:ajuLMPfn] >>60 やっぱりできませんか…
62 名前:nobodyさん mailto:sage [2009/10/13(火) 16:10:52 ID:???] >>59 キチガイ氏ねよ
63 名前:nobodyさん [2009/10/13(火) 16:50:29 ID:ljBnoCI+] 携帯動画サイトを作っているのですが、動画ページへの直リンクで非常に困ってます。 .htaccessを使ってリファラで制限したんですが、ドコモはリファラが残らず断念しました。 後は、PHPでできるみたいなのですが知識がなく、本を買って調べたのですがいまいちわかりませんでした。 PHPで直リンを防ぐソースなどはないでしょうか? レベルの低い質問で申し訳ないんですがよろしくお願いします。
64 名前:nobodyさん mailto:sage [2009/10/13(火) 16:53:25 ID:???] セッション。
65 名前:nobodyさん [2009/10/13(火) 20:28:10 ID:SwQUEovx] 単一のクラスでデータベースを扱う場合、 クラス内にデータベースの設定を書いてしまうと思いますが、 複数のクラスからデータベースを呼び出す場合、 データベースの設定はどのように持っておくべきでしょうか? iniやxmlなどの外部ファイルに記述するか、 データベースの設定だけを保持したクラスを作成するか等。 他にベターでメジャーな方法があったら教えてください。
66 名前:nobodyさん mailto:sage [2009/10/13(火) 20:41:24 ID:???] class test{ var $test = null; function push($value){ $this->test = $value; } function pop(){ return $this->test; } } $tes = new test; $tes->push("てすと"); echo $tes->pop();
67 名前:nobodyさん mailto:sage [2009/10/13(火) 20:45:24 ID:???] 1要素だけかよw
68 名前:nobodyさん mailto:sage [2009/10/13(火) 20:52:18 ID:???] コネクションした際にリソースを返されるからそれ使うだけじゃん 難しいか?
69 名前:nobodyさん mailto:sage [2009/10/13(火) 21:22:19 ID:???] >>65 設定って? ホスト名とかユーザ名とかデータベース名のこと? そういうかなり具体的なことは、せいぜい一つのクラスだけが気にするようにする。 なお、よっぽどやっつけな場合以外、そのクラスのコードにもそれらの設定値は 書き込まないな。
70 名前:nobodyさん mailto:sage [2009/10/13(火) 21:22:22 ID:???] >>68 難しいよ、バカ!
71 名前:nobodyさん mailto:sage [2009/10/13(火) 21:23:22 ID:???] >>59 .phps
72 名前:nobodyさん mailto:sage [2009/10/13(火) 21:23:57 ID:???] >>69 俺は、専用のクラスにしているよ。 外だしにすると、一回一回接続するたびに、 設定ファイルを読み込んで、 余計なI/Oが発生するので、避けている。
73 名前:nobodyさん mailto:sage [2009/10/14(水) 04:33:40 ID:???] こんな漢字(mysqliの場合) function dbCon(){ try{ $db = new mysqli("localhost","user","pass","my_db"); $db->query('SET NAMES utf8;'); return $db; } catch(mysqli_sql_exception $e){return $e->getMessage();} } $db = dbCon(); // dbオブジェクト取得 あとは $dbを使いまわせばよい。
74 名前:nobodyさん mailto:sage [2009/10/14(水) 05:11:15 ID:???] 一人質問を理解してないな
75 名前:nobodyさん [2009/10/14(水) 13:39:39 ID:tPIKiOul] 【OS名】Windows Vista Home Premium 【PHPのバージョン】php5.3.0 【連携ソフトウェア】なし 【質問内容】 書き込み失礼します。 セッションの保持期間の指定について悩んでいます。どうしても、指定した時間まで持たなくて。 現在は、セッションが関係するページの冒頭に以下のコードを入れています。 <?php //クッキーの使えない端末でもセッションを有効にする ini_set('session.use_trans_sid', '1'); //クッキーの使える端末では、セッションをクッキーに保存する ini_set('session.use_cookies', '1'); //セッションを、クッキーのみに保存させないようにする ini_set('session.use_only_cookies', '0'); session_save_path(); session_start(); ini_set('session.save_path', '2;/usr/local/www/htdocs/ユーザID/public_html/ディレクトリ名'); ini_set('session.cookie_lifetime', '秒数'); ini_set('session.gc_maxlifetime', '秒数'); ini_set('session.gc_probability', '1'); ini_set('session.gc_divisor ', '1000'); ?> (改行が多すぎると叱られたので一旦切ります)1/2
76 名前:nobodyさん [2009/10/14(水) 13:41:23 ID:tPIKiOul] (続きです) 自信がないのがsession_save_pathとsession.save_pathの使い方です。書き方はこれであっているでしょうか? session.save_pathの引数に2を指定しておりますので、「ディレクトリ名」の下にはmod_files.shで作ったディレクトリを2階層分置いてあります。 また、session.save_pathに引数を指定するとGCが作動しなくなるとマニュアルにあるので、GCについての設定は無駄でしょうか。 クッキーの使えない端末(携帯など)でのセッションの保持は諦めます。 …が、せめてクッキーの使える端末(パソコンなど)では、指定した時間セッションを保存したいと考えています。 色々と調べましたが、原因がさっぱり分からずお手上げです。 どうかよろしくお願いいたします。2/2
77 名前:nobodyさん mailto:sage [2009/10/14(水) 13:56:39 ID:???] >>75 宣伝じゃないけどここのサイトのセッション管理が参考になるよ 金かからないケイタイからアクセスして試してきな ttp://atmeltomo.com/
78 名前:nobodyさん mailto:sage [2009/10/14(水) 14:44:11 ID:???] >>75 期限切れとなるのが セッション用Cookieが存在しない状態での初回アクセス日時 + session.cookie_lifetime 秒 ならPHPの実装通り それともこれに当てはまらない現象? ini_set('session.*... は session_start() 前に設定しないと使ってくれないぞ GCについては session.save_handler = "files" の場合に 2階層以上をしていると働いてくれないので言う通り不要 >>77 ハイハイ
79 名前:nobodyさん mailto:sage [2009/10/14(水) 15:06:02 ID:???] サーバーの時間はあってるん?
80 名前:nobodyさん [2009/10/14(水) 15:17:46 ID:tPIKiOul] >>78 ご返信ありがとうございます。 >期限切れとなるのが〜 はい、初回アクセス+session.cookie_lifetime 秒よりも早くセッションが切れてしまいます。 ini_setはsession_start()の前に、とのことでしたのでそのようにしてみたのですが、以下の警告が出てしまいました。 Warning: session_start() [function.session-start]: open(/usr/local/www/htdocs/ユーザID/public_html/ディレクトリ名/セッションID, O_RDWR) failed: Permission denied (13) in /usr/local/www/htdocs/ユーザID/public_html/ディレクトリ名/ファイル名.php on line 8 Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /usr/local/www/htdocs/ユーザID/public_html/ディレクトリ名/ファイル名.php:8) in /usr/local/www/htdocs/ユーザID/public_html/ディレクトリ名/ファイル名.php on line 8 問題のファイルの8行目には、session_start();が記述してあります。 >>79 多分あっていると思います…が、仕様書などからの確認は取れませんでした。
81 名前:nobodyさん mailto:sage [2009/10/14(水) 15:50:00 ID:???] サーバって国内?海外?
82 名前:nobodyさん mailto:sage [2009/10/14(水) 16:16:35 ID:???] >>80 パーミッションエラー出とるがな つーかセッションデータを公開スペースに置くつもりなのか? まず/tmpディレクトリとかで試してみたら? あとサーバーの時間はdate()関数で調べてみれ
83 名前:nobodyさん [2009/10/14(水) 16:52:07 ID:tPIKiOul] >>75 です。 >>82 セッションデータの保存先の件ですが、マニュアルによると 「この設定を/tmp (デフォルト)のようにどこか らでも読み込み可能なディレクトリのままにしている場合、 サーバ上 の他のユーザがこのディレクトリのファイルのリストを取得すること により、セッションをハイジャックをすることが可能となります。」 とのことでしたので、この設定にしてみました。 date()関数についての情報、ありがとうございました。基本の関数だったようでお恥ずかしい限りです。 サーバの日時はあっていました。 それから、先程から色々と調べているのですが、「save_pathの設定はSAFE MODEが有効になっているときには変更できません。」との情報を見つけました。 使っているサーバのセーフモードを調べてみましたら、見事にオン。 なんかこれが原因のような気もします。 今度セーフモードがオフになっているサーバに変えて試してみようと思います。 引き続き、なにか情報をお持ちの方いらっしゃいましたら、お願いいたします。
84 名前:nobodyさん mailto:sage [2009/10/14(水) 17:58:37 ID:???] >>83 >してみました 書ける場所に設定するとか指定した場所に書けるようにしないとダメでしょ わけもわからずやるほうがあぶねえ
85 名前:nobodyさん mailto:sage [2009/10/14(水) 18:08:43 ID:???] ローカルマシンのユーザを心配しつつ全世界ネットユーザに公開しちゃってる件
86 名前:nobodyさん mailto:sage [2009/10/14(水) 18:54:54 ID:???] >>83 >>80 で save_pathした場所でセッションファイルのパーミッションエラーが出てる >>83 で save_pathの設定はSAFE MODE。。。見事にONでした んーなんか違うような・・・ 80からsave_pathは変更されていて、単にパーミッションが適切ではなくセッションファイルが書き込めないだけのような。 82の言うように/tmpでまず確認か、そのsave_pathのパーミッションをApacheのユーザが書けるように設定。 ここではsession_save_pathはsafe modeで使えないとは書いてないようだけど、どこに書いてあった? www.php.net/manual/ja/features.safe-mode.functions.php /tmpのセッションジャック説明 「サーバ上 の他のユーザが」 他にユーザがいるのかな? 85の言うようにそのパスだとパーミッションなどの設定次第だけどあぶないかも。
87 名前:nobodyさん [2009/10/14(水) 20:55:39 ID:tPIKiOul] >>75 です。ご意見ありがとうございます。 セッションファイルを保存したいと思っているディレクトリのパーミッションを変更してみましたが、状況は変わりませんでした。 また、/tmpで試してみたところ、以下の警告が出てしまいました。 Warning: session_save_path() [function.session-save-path]: SAFE MODE Restriction in effect. The script whose uid is 33401 is not allowed to access /tmp owned by uid 0 in /usr/local/www/htdocs/ユーザID/public_html/ディレクトリ名/ファイル名.php on line 6 Warning: ini_set() [function.ini-set]: SAFE MODE Restriction in effect. The script whose uid is 33401 is not allowed to access /tmp owned by uid 0 in /usr/local/www/htdocs/ユーザID/public_html/ディレクトリ名/ファイル名.php on line 7 Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /usr/local/www/htdocs/ユーザID/public_html/ディレクトリ名/ファイル名.php:6) in /usr/local/www/htdocs/ユーザID/public_html/ディレクトリ名/ファイル名.php on line 8 「SAFE MODE Restriction in effect.」という一文から読み取る限り、やはりセーフモードの問題でしょうか。 セキュリティについても、色々と調べてみたいと思います。ご助言ありがとうございます。
88 名前:nobodyさん mailto:sage [2009/10/15(木) 00:40:11 ID:???] SAFE_MODEをOFFにしてテストか、無理ならOFFの環境で試すかしたほうが早いよたぶん あと無料スクリプトを拾ってきてそのセッションが動いてるか試してみるとか? あとはPHPをコンパイルしてCGIで動かすか
89 名前:nobodyさん mailto:sage [2009/10/15(木) 10:26:13 ID:???] 公式のトップページがばぐってるwwwwwwwwwwwwwwww
90 名前:nobodyさん mailto:sage [2009/10/15(木) 10:31:15 ID:???] >>89 static.php.net/www.php.net/images/php_konami.gif なんだこれw
91 名前:nobodyさん mailto:sage [2009/10/15(木) 10:33:15 ID:???] これはどう見ても不正に書き換えられただろwwwwww
92 名前:nobodyさん mailto:sage [2009/10/15(木) 10:38:34 ID:???] function okc(f){var c=[38,38,40,40,37,39,37,39,66,65,13] これって↑↑↓↓←→←→BAかww
93 名前:nobodyさん mailto:sage [2009/10/15(木) 10:41:16 ID:???] 画像に何か変なコード埋め込まれてるかもしれないから誰かバイナリエディタで確認よろ
94 名前:nobodyさん [2009/10/15(木) 11:37:33 ID:IJjjUaJi] 今ローカル上のWinにVirtualBoxを起動させそこでCentOSを稼動させています。 そしてそのCentOS上でLighttpdとPostgreSQLとPHP5.3を動かしています。 NetBeans6.7.1ではSFTPを使いCentOS上に*.phpファイル保存時に自動的に書き込むようにしています。CentOS上の php.iniではXdebugの設定をしたのでNetbeansを用いてPHPのコードを一行一行実行して行く事ができるようになりました。 ここまでは上手く行きました。NetBeansのメニューで「プロジェクトのデバッグ」を選択するとブラウザーが立ち上がり、ブレークポイントを付けた行で停止して1行ずつコードを実行して行けます。 しかし、NetBeansのメニューで「プロジェクトの実行」を選択するとブラウザーが立ち上がる所までは同じですが、その後それ以上何も進展しない状況になります。(ブラウザーは「読み込み中」と表示されたままです。) これって正常でしょうか?
95 名前:nobodyさん mailto:sage [2009/10/15(木) 11:44:51 ID:???] >>94 スレ違い ID出さんでも質問OKなスレ池
96 名前:nobodyさん [2009/10/15(木) 12:53:49 ID:HYNoiUHJ] 【OS名】fuedora10 【PHPのバージョン】php5.26 【. CGI名 .】 Hello-UP アップローダー idol.nm.land.to/ 【質問内容】 sn uploaderのように、画像等ツールよけのためにphp(ページ)経由で取得させるようにしたい 例:hogehoge.net/img/0000.jpg ↓ hogehoge.net/upload.php?id=0000 この下のやつはダウンロードカウンター機能ON時の形式なのですが、 これをダウンロードカウンター機能OFF時のときも同様にリンクとして表示させたいのです。 ダウンロードカウンター機能OFF時でも >hogehoge.net/upload.php?id=0000 この形式をブラウザに手打ちで打ち込んでも表示されるので、一覧でのリンク表示だけの問題だと思います。 どうぞよろしくお願いします。
97 名前:nobodyさん mailto:sage [2009/10/15(木) 12:56:01 ID:???] >>94 マルチ乙
98 名前:nobodyさん mailto:sage [2009/10/15(木) 12:57:43 ID:???] >>96 改造依頼はこちら 【 スクリプト改造依頼スレ】(丸投げ) part7再々 pc11.2ch.net/test/read.cgi/php/1222645553/ 自分でこうしたいからこう書いたけどうまく出来ないとかなら答えてもいいけど丸投げは氏ね
99 名前:nobodyさん mailto:sage [2009/10/15(木) 14:39:55 ID:???] PDO(postgres)でクライアント側の文字コードを設定する方法って SET client_encoding = 'UTF8'; 以外にありますか? pgsqlモジュールのpg_set_client_encodingに相当するやつがみつからないので
100 名前:nobodyさん mailto:sage [2009/10/15(木) 14:44:26 ID:???] >>99 スレタイみろks
101 名前:nobodyさん [2009/10/15(木) 14:46:54 ID:HYNoiUHJ] >>97 マルチと言ってもそっちは完全に無視されました。 3ヶ月たったのでこちらで依頼させてもらいました。 >>98 あと少しの所まで来ているので、ここでも良いかと思い質問させてもらいました。 分かる方いましたらどうかよろしくお願いします<m(__)m>
102 名前:nobodyさん [2009/10/15(木) 16:31:38 ID:/ug7dUBY] Windowsでの外字エディタとかで作られた文字とかはphpで見つけることって出来るんでしょうか?
103 名前:nobodyさん mailto:sage [2009/10/15(木) 16:39:41 ID:???] sjis-win
104 名前:nobodyさん mailto:sage [2009/10/15(木) 19:18:43 ID:???] PHPコナミコマンドの件、IT系ニュースで早速取り上げられてたな 改ざんされてたらしい