- 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等)・フレームワークは各該当スレへ
- 700 名前:nobodyさん mailto:sage [2009/10/27(火) 19:59:04 ID:???]
- >>698
何もしなくても良いのではないだろうか。
- 701 名前:nobodyさん mailto:sage [2009/10/27(火) 19:59:55 ID:???]
- >>698
POSTされた生のデータが欲しいって事かい? parse_str(file_get_contents('php://input'), $f); var_dump($f);
- 702 名前:nobodyさん mailto:sage [2009/10/27(火) 21:21:52 ID:???]
- fopen("php://memory", "r+");
すげえ
- 703 名前:698 mailto:sage [2009/10/27(火) 21:41:14 ID:???]
- >>701
すばらしい。ありがとうございます。
- 704 名前:nobodyさん [2009/10/28(水) 01:05:41 ID:EMbPGL3Y]
- simplexmlについての質問です。
simplexml_load_fileで読みこんだObjectから $q = $_GET["q"]; echo $xml->item[$q]->name; としたいのですが、何も表示されません。 echo $xml->item[0]->name; だと正しく表示され $q = 0; echo $xml->item[$q]->name; でも正しく表示されます。 $q = $_GET["q"]; echo $q; echo $xml->item[$q]->name; とした場合は、$qだけが表示されました。 simplexmlでは$_GETが使えないのでしょうか? 解決策をお教えいただきたいです。
- 705 名前:nobodyさん mailto:sage [2009/10/28(水) 01:09:43 ID:???]
- >>704
$qの中身の問題だろそれは
- 706 名前:nobodyさん [2009/10/28(水) 01:12:57 ID:EMbPGL3Y]
- >>705
ありがとうございます! $q = $_GET["q"]+1-1; と試してみるとうまくいきました。 ホントにお恥ずかしい限りです・・・
- 707 名前:nobodyさん mailto:sage [2009/10/28(水) 01:16:08 ID:???]
- 型違うと検索してくれないんだ?
- 708 名前:nobodyさん mailto:sage [2009/10/28(水) 01:17:19 ID:???]
- $q = (int)$_GET["q"];
でおk
- 709 名前:nobodyさん mailto:sage [2009/10/28(水) 01:18:34 ID:???]
- includeって必要なときにだけ呼び出したほうがいいの?
負荷とかそんなに変わらないのならクラス定義をまとめて最初に読み込んだほうがらくだよね。。。
- 710 名前:nobodyさん mailto:sage [2009/10/28(水) 01:20:18 ID:???]
- えっ
- 711 名前:nobodyさん mailto:sage [2009/10/28(水) 01:27:19 ID:???]
- >>709
>>1
- 712 名前:nobodyさん mailto:sage [2009/10/28(水) 02:52:06 ID:???]
- Javaのimportのようなもんだと思ってるんだろう
ただJavaの場合コンパイラが最適化してくれるので問題ないが PHPはインタプリタなので最適化のしようがないという つまり全部includeなんてしたらそりゃ遅くなる
- 713 名前:nobodyさん mailto:sage [2009/10/28(水) 05:46:33 ID:???]
- >>712
なるほど、ありがとう。必要なときにincludeしたほうが良いってことね
- 714 名前:nobodyさん mailto:sage [2009/10/28(水) 09:18:20 ID:???]
- >>695-697
文字列中に,も出てくるかもしれないから json_decode()を使ったほうがよくない?
- 715 名前:nobodyさん [2009/10/28(水) 10:42:00 ID:v0axKvNX]
- セッションの開始をつげるsession_start()って
セッションを使用する場合は必ずつけなければならないのですよね? これを記述するのはMVCモデルだとVの部分に記述するのであってますでしょうか?
- 716 名前:nobodyさん mailto:sage [2009/10/28(水) 10:43:21 ID:???]
- コントロールじゃね?
- 717 名前:716 mailto:sage [2009/10/28(水) 10:45:50 ID:???]
- コントロールですか?
ありがとうございます 早速組み方を考えて見ます
- 718 名前:nobodyさん mailto:sage [2009/10/28(水) 10:47:23 ID:???]
- bootstrapだろ
- 719 名前:679 [2009/10/28(水) 14:53:16 ID:op4mA5/p]
- 返答遅くなりました。
そうか・・・表示されてる時には既にHTMLとして返ってきてるんですよね。 この場合は、dbedit.phpのようなものを別途つくり <?php include("dbedit.php"); A1(); ?> という風にすればいいのかな? しかし、この場合でも、A1だけではなく、A2,A3と続く様であれば それの振り分けはどう実装したらいいでしょうか? ご意見や、実装例等がありましたら、ご教示よろしくお願い致します。
- 720 名前:nobodyさん mailto:sage [2009/10/28(水) 15:23:46 ID:???]
- >>719
まずjavascriptなしでやることを考えてみ。
- 721 名前:nobodyさん mailto:sage [2009/10/28(水) 15:30:07 ID:???]
- ちょっと答え方まちがったかな。
まずそのA1, A2, A3でなにをするのか書かないと。あと関数ってわかってる?振り分けってどういうことするの?
- 722 名前:nobodyさん mailto:sage [2009/10/28(水) 15:43:14 ID:???]
- >>719
A1()って>>679を見る限りJavaScriptのfunctionだろ? 呼べるわけがないw >>720の通りにまずJavaScriptなしで動くようにしてみたら? サーバー側でpostされた内容によってSQL発行するだけだよ
- 723 名前:nobodyさん mailto:sage [2009/10/28(水) 18:25:52 ID:???]
- >>679はもう諦めてこれプログラムできる人にやってもらったほうが世のため人のため>>679のためと思うのはおれだけか?
- 724 名前:nobodyさん mailto:sage [2009/10/28(水) 18:34:44 ID:???]
- いきなりいろいろ手をつけすぎだな
javascript無し、DB無しでPHPだけでいろいろ慣れるのが先だな
- 725 名前:nobodyさん mailto:sage [2009/10/28(水) 18:35:06 ID:???]
- A1()で「くろごま」
A2()で「しろごま」 A3()で「ごまふあざらあし」 を処理する気まんまんの>>679にWeb100.0
- 726 名前:nobodyさん mailto:sage [2009/10/28(水) 23:02:06 ID:???]
- >>679
歳幾つ?
- 727 名前:nobodyさん mailto:sage [2009/10/29(木) 00:12:37 ID:???]
- phpとmysqlを同時に説明してる本とか売ってるし それ見た方がいいよね
それと同時にプログラミングの概念について解説してる本を読んだ方がいいのかも 概念が足りてない
- 728 名前:nobodyさん mailto:sage [2009/10/29(木) 03:46:52 ID:???]
- test
- 729 名前:nobodyさん [2009/10/29(木) 09:54:12 ID:xBLZE2eU]
- 【OS】cent
【バージョン】php5.2.10 SimpleXMLElementに関する質問です。 mlから特定の属性を持った要素を削除するにはどうすれば良いのでしょうか? 例を挙げると、 『sample.xml』 <?xml version="1.0" encoding="UTF-8" ?> <library> <book id="00001"> <title>aaa</title> <author>Emily</author> </book> <book id="00002"> <title>bbb</title> <author>John</author> </book> <book id="00003"> <title>ccc</title> <author>Mike</author> </book> </library> とした場合、idが「00002」の要素を削除するという感じです。 --続く--
- 730 名前:729 [2009/10/29(木) 09:56:09 ID:xBLZE2eU]
- --続き--
いろいろ調べたところ、 $xml = new SimpleXMLElement('sample.xml', null, true); unset($xml->book[0]); で削除は出来るのようですが、配列で何番目という指定ではなくid「00002」の要素を指定して削除し、 <?xml version="1.0" encoding="UTF-8" ?> <library> <book id="00001"> <title>aaa</title> <author>Emily</author> </book> <book id="00003"> <title>ccc</title> <author>Mike</author> </book> </library> となる事が目的です。 どうぞよろしくお願いします。
- 731 名前:nobodyさん mailto:sage [2009/10/29(木) 12:08:53 ID:???]
- >>730
foreachで出来た方いたら教えてください。 $xml = new SimpleXMLElement('sample.xml', null, true); for ( $i = 0 ; $i < count($xml->book);$i++) { if ( $xml->book[$i]["id"] == " 00002") { unset( $xml->book[$i] ); } } echo $xml->asXML();
- 732 名前:729 mailto:sage [2009/10/29(木) 23:49:16 ID:???]
- >>731
出来ました! どうもありがとうございます。 確かにforeachだと更に良いかも知れませんね。でも感謝です。
- 733 名前:nobodyさん [2009/10/30(金) 06:12:51 ID:5l/tuOOs]
- 以下のようなメールアドレスのうち「@の前部分」を、文字数分だけ*に置換したいのです。
taro@example.com これだと4文字決め打ちになってしまいます。 preg_replace('/[a-z0-9\.\-\_]+@/i', '****@', $text); いまのところシンプルに書ける方法で思いつくのは、 長い文字数から順に置換していく方法です。 forなど使えばシンプルには書けそうです。 preg_replace('/[a-z0-9\.\-\_]{10}@/i', '**********@', $text); preg_replace('/[a-z0-9\.\-\_]{9}@/i', '*********@', $text); ... でも美しい方法とは思えません。 定石、または美しい方法はありますか?
- 734 名前:nobodyさん mailto:sage [2009/10/30(金) 08:26:53 ID:???]
- >>733
たとえば $text = "taro@example.com"; echo preg_replace('/([a-z0-9\.\-\_]+)@/ie', "str_repeat('*',strlen('$1')) . '@'", $text);
- 735 名前:nobodyさん mailto:sage [2009/10/30(金) 10:41:53 ID:???]
- 例えば
$text = "taro@example.com"; $array = explode('@', $text); echo str_repeat('*',strlen($array[0])) . '@' . $array[1];
- 736 名前:nobodyさん mailto:sage [2009/10/30(金) 16:17:27 ID:???]
- 例えば
$text='taro@example.com'; echo str_repeat('*', strpos($text,'@')).strstr($text,'@');
- 737 名前:nobodyさん [2009/10/30(金) 17:16:58 ID:5l/tuOOs]
- >>734-736
ありがとうございます。e修飾子とかはじめて認識しました。 Yahoo!グループの過去ログのように「メール本文中の署名などの個人情報を隠匿」が目的なので、 >>734の方法で行かせていただこうと思います(目的を書いとくべきでしたごめんなさい)。 精進します。
- 738 名前:nobodyさん [2009/10/30(金) 20:21:02 ID:k7DoHVtB]
- 2chの大量規制があったとかのせいか、ここも勢いがないね
phpのソースコードそのものを取り込んで そのコードを解析する みたいな手段ってありませんか?
- 739 名前:nobodyさん mailto:sage [2009/10/30(金) 20:25:31 ID:???]
- どう解析するの?
単に構文解析だったら、PHPでPHP用のレキシカルアナライザとパーサ作ればいいんだけど、 それだけやったって面白くないよね、手間なだけで。 何をしたいのかが良く分からん。
- 740 名前:nobodyさん [2009/10/30(金) 22:48:05 ID:pyIKqVVx]
- class test
{ private $ar,$tes; public function __construct() { $this->ar = array('tes'); (ここで 変数 $this->($this->ar[0]) この場合 $this->tes に何らかの値を代入したい) echo $this->tes; } } $this-> に続く変数名を変数の値で表す方法はありますか? 宜しくお願いします。
- 741 名前:nobodyさん mailto:sage [2009/10/30(金) 22:52:15 ID:???]
- 日本語で
- 742 名前:nobodyさん [2009/10/30(金) 23:25:37 ID:pyIKqVVx]
- 上のコードで$this->tesに、例えば"b"を代入したいとき、
$this->tes = "b"; と書くのではなく、tesの部分に、"tes"が代入された変数を使いたいのです。
- 743 名前:nobodyさん mailto:sage [2009/10/31(土) 00:17:51 ID:???]
- $var = 'tes';
echo $this->$var; こんな感じで
- 744 名前:nobodyさん mailto:sage [2009/10/31(土) 00:38:36 ID:???]
- >738
runkit jp2.php.net/manual/ja/book.runkit.php
- 745 名前:nobodyさん mailto:sage [2009/10/31(土) 07:26:05 ID:???]
- >>743
ああ、一回代入すればいいのですね 思いつきませんでした。ありがとうございます!
- 746 名前:nobodyさん [2009/10/31(土) 09:17:44 ID:5b/pi/nw]
- 質問です。
アップローダー作る時にテンポラリのディレクトリから保存用のディレクトリに ファイルをcopy → もとのテンポラリファイル削除 って流れがあり、 if(copy($tmpFile, $lastFile)){unlink($tmpFile);} という感じの処理をすると思います。 しかし条件部分がtrueにならないとき、どうしたら良いんでしょうか? 「コピー失敗しました」みたいなアラート表示すべき? そんなことやってますか? そもそも、上のif文でのチェックは必要なんでしょうか… 条件成立・不成立をどこまでフォローすべきか悩んでいます。
- 747 名前:nobodyさん mailto:sage [2009/10/31(土) 15:10:42 ID:???]
- move_uploaded_file 使った方がええんじゃないか?
- 748 名前:nobodyさん mailto:sage [2009/10/31(土) 15:13:55 ID:???]
- コピーするのがそのサイト内部処理として必須であるなら(まあそうだろうけど)、
それに失敗したらアップロード処理失敗のエラー返すしかなかろ。
- 749 名前:nobodyさん mailto:sage [2009/10/31(土) 15:30:20 ID:???]
- エラーが発生したときに可能な限り元の状態に戻す設計にした方が良いな
コピー失敗したらそのファイルを削除してメッセージを表示&エラーログを残すとか
- 750 名前:nobodyさん mailto:sage [2009/11/01(日) 23:38:51 ID:???]
- >>740
$this->{$this->ar[0]} = "何らかの値";
- 751 名前:nobodyさん [2009/11/02(月) 18:13:40 ID:uSMOoO6C]
- 画像とhtmlを同一のファイルにしたいんですが、
phpでmhtmlを出力するほうほうはありませんか?
- 752 名前:nobodyさん mailto:sage [2009/11/02(月) 18:43:28 ID:???]
- >>751
OSは?
- 753 名前:nobodyさん mailto:sage [2009/11/02(月) 18:58:04 ID:???]
- >>751
www.hedgerwow.com/360/dhtml/base64-image/demo.php
- 754 名前:751 mailto:sage [2009/11/02(月) 18:58:15 ID:???]
- >>752
Linuxです。サーバーの設定も自由に変更できます。
- 755 名前:751 mailto:sage [2009/11/02(月) 19:01:23 ID:???]
- >>253
ありがとう。
- 756 名前:nobodyさん [2009/11/03(火) 00:57:00 ID:OxH3Rb8V]
- 質問です、
PHPの言語仕様として確認したいのですが、 1リクエストごとにstaticメソッドであろうが毎回PHPのリソースをメモリに読み込んで、 レスポンスを返した時点でメモリ破棄する。 そのため、複数のリクエスト間での共有ができず、たとえばDBのコネクションプール などという考え方は基本ない。であっていますか?
- 757 名前:nobodyさん mailto:sage [2009/11/03(火) 02:25:30 ID:???]
- 言語仕様(標準ライブラリ)の範疇で言えば、そう。
たいていの言語は、別々に起動された、親子関係 でないプロセス間でソケットを共有する方法は、 言語仕様にはないと思う。
- 758 名前:nobodyさん mailto:sage [2009/11/03(火) 05:32:26 ID:???]
- 関係ない質問してごめん。
SpeedyCGIみたいな常駐プログラムを使ったらDBコネクション繋ぎっぱなしできるよね? それをphpから呼び出したら、プログラム呼び出しののオーバーヘッドとDB接続のオーバーヘッド天秤にしても常駐の方が早い希ガスだけどどうなの? あと、phpでSpeedyCGIみたいシステムないの?
- 759 名前:nobodyさん mailto:sage [2009/11/03(火) 10:19:58 ID:???]
- DBコネクションプールといえばpgpoolとかあるけど。
MySQLならSQLrelayとか。
- 760 名前:nobodyさん mailto:sage [2009/11/03(火) 10:39:36 ID:???]
- phpはモジュールで動かしてる場合が多いから・・・
- 761 名前:nobodyさん [2009/11/03(火) 21:21:41 ID:ppv8Lxeq]
- ちょっと質問。
wikipediaで携帯のIPアドレス一覧があって、それを元にアクセスした人のIPが携帯なら携帯用のページに飛ばすのをPHPで以前に作ったんだけど 知らない間に携帯用のIPアドレスが増えてるみたいで、修正しようかと思うんだけど、結局イタチごっこだから シンプルにユーザーエージェントで分別しようかと思うけどそれだとPCで偽装もできるので ちゃんと的確に分けられる方法教えて。
- 762 名前:nobodyさん mailto:sage [2009/11/03(火) 21:23:10 ID:???]
- 携帯依存文字でYES・NOでもやってろ
- 763 名前:nobodyさん mailto:sage [2009/11/03(火) 21:34:29 ID:???]
- わざわざUA偽装してアクセスするのは携帯用ページが見たいからでしょ
だから普通にUAで振り分ければいいとおもうが
- 764 名前:nobodyさん mailto:sage [2009/11/03(火) 21:38:57 ID:???]
- >>761
ケイタイ用のIPを常に更新して、IPでキャリアを判別するサイトのサービスを始めるのだ!
- 765 名前:nobodyさん [2009/11/03(火) 23:00:04 ID:Hf2P9qWB]
- phpのApacheの設定が全くできません!Vistaです。本に書いてある通りにしても、ブラウザに乗せるとダウンロードダイアログが出ます
助けてください
- 766 名前:nobodyさん [2009/11/03(火) 23:08:14 ID:ppv8Lxeq]
- 確かに携帯用のページが見たくて偽装するんだろうし、別に携帯用ページをPCで見られて困ることはないよ。
だけど、UAの文字列の一部で携帯かPCかを判断すると、今後携帯キャリアがUAの仕様を変えた時に、 携帯だかPCだか判断できずに、携帯なのにPC用ページを表示してサイズでかすぎて表示できないとかだと最悪でしょ。 妥協してユーザーエージェントでやるとするといくつあるの? ドコモ、au、ソフトバンク、ボーダフォン、J-PHONE、あと何? ウィルコムとかイーモバイルとかも固有のUAあるの?ディズニーモバイルは?あとiフォンもある?
- 767 名前:nobodyさん mailto:sage [2009/11/03(火) 23:42:05 ID:???]
- 俺はIPでやってるけど、ホスト名でもいいんじゃないの振り分け
- 768 名前:nobodyさん mailto:sage [2009/11/03(火) 23:44:16 ID:???]
- PEAR::Net_UserAgent_Mobileは?
- 769 名前:nobodyさん mailto:sage [2009/11/04(水) 04:13:04 ID:???]
- >>759
トンクス。 でも SQLRelay いれたら遅くなったって意見が多くてちょっとガッカリ
- 770 名前:679 mailto:sage [2009/11/04(水) 09:18:30 ID:???]
- 規制ががが
>>720 ・・・申し訳ない。 以前あったレスからJavascriptは使わないと決めて 元々記述したJsコードを全部削除してPHPに実装しなおしていましたが 報告忘れてました >>721 A1とかA2とかは、それぞれupdateでsetする内容が違うだけ。 むしろコレなら変数で勝手に変わる様にしたほうがいいのかもしれないですが・・。 >>722 一応削除はしてます。 >>723 諦めたらそこで終わりじゃないですか?? >>724 はい。実はJavaはやっていたのですが どうもHTMLやらJavascriptやらPHPやらとくると・・どうにも
- 771 名前:679 mailto:sage [2009/11/04(水) 09:19:55 ID:???]
- >>726
まだまだ若いですよ。上司には当然教えてくださる方もいないので独学になりますが。 いかんせん会社が大きく無いのでしょうがないです。 >>727 本・・ですねえ。 でも今月はCiscoの本やらいっぱい買ってしもたorz 経費で落ちそうなら考えてみます。 今のところ一応Formタグを追加し、typeをSubmitにして飛ばすようにしてます。 次のphpでname属性から拾ってきたものを取り上げ、PHP側のif分岐等でのマッチング査定をしつつ その先で上書き処理、という流れで、やっていくつもりです。
- 772 名前:nobodyさん mailto:sage [2009/11/04(水) 09:50:46 ID:???]
- >>765
それ、Apacheの問題であってPHPのじゃないじゃん。 <httpd.conf> AddType application/x-httpd-php .php PHPIniDir [PHP.iniのあるディレクトリ] LoadModule php5_module [php?apache*.dllへのフルパス] 書いたらApacheの再起動。
- 773 名前:nobodyさん [2009/11/04(水) 13:15:10 ID:+cyJ/kJv]
- あのさぁ、まずはちょっと聞いてくれ。
ドキュメントルート(サイトのルート)の中の一つのフォルダを完全にPHP使えないようにしたい。 そうしないとそこがアップロード用のファイル保存フォルダになっているので PHPのファイルをアップされブラウザでファイルをアクセスされると危険。unlink()とかされたら完全に終わる。 かと言ってアップ時に、拡張子が.phpのファイルをはじくとかだとそれも困るし、そのファイルの内容をチェックするのも大変。 .htaccessファイルに、拡張子.phpは.htmlとするように書いてもいいけど.php5とかPHPとして動く拡張子が他にもあるから対処しきれない。 で、特定のフォルダにだけPHPを使わせない機能ないの? もしくはアパッチでドキュメントルート以外のフォルダを作り、 C:/root_A(PHP可能) C:/root_B(PHP不可) として http://ドメイン/root_B以下にアクセスがあった時はC:/root_B/index.htmlを表示させるとかできないかな? バーチャルホストじゃなくドメイン同じで二つのルートを使い分けるって事。
- 774 名前:nobodyさん [2009/11/04(水) 13:18:32 ID:+cyJ/kJv]
- 今書いててふと疑問に思ったんだけど、レンタルサーバーって複数の人が使ってて
同じドライブに複数の人のルートがあると思うけど他人のファイルをunlink()したりできないのは何で?
- 775 名前:nobodyさん mailto:sage [2009/11/04(水) 13:22:13 ID:???]
- FOR($i=0;;$i++){
PRINT 'マンコ'; } 初めて作ったプログラムがこれ。
- 776 名前:nobodyさん mailto:sage [2009/11/04(水) 13:26:07 ID:???]
- >>773
apacheのDirectory設定でできるよ
- 777 名前:nobodyさん mailto:sage [2009/11/04(水) 13:31:39 ID:???]
- >>774
一つはパーミッション。 削除権限はそのファイルが含まれているディレクトリのパーミッションによるが 777とかしてたら消せる。 でもphpだと全ユーザーが同じ実行ユーザーになる場合もあるので phpのSafeModeを使う。 これは、実行ファイルのオーナー(実行時のユーザーではない)が 他のオーナーのファイルをいじれなくする仕組み。
- 778 名前:nobodyさん [2009/11/04(水) 16:27:43 ID:+cyJ/kJv]
- >>776-777
ありがとう。ちょっとググってみるよ。
- 779 名前:nobodyさん mailto:sage [2009/11/04(水) 17:03:15 ID:???]
- そういや、拡張子で制御は把握しきれないから・・・とか書いてるけど
基本的にhttpdは拡張子で実行するか決めてるんだから 拡張子で制限すればいいはずだよ。
- 780 名前:nobodyさん mailto:sage [2009/11/04(水) 17:37:09 ID:???]
- >>773
phpファイルはアップロード禁止にしたらいいんじゃない? どうしてもアップロードしたい場合はZIPって手もあるし
- 781 名前:nobodyさん mailto:sage [2009/11/04(水) 18:05:34 ID:???]
- >>773
Options -ExecCGI -Includes -MultiViews php_flag engine off こんな感じで.htaccessを設定したらCGIとPHPは動かなくなるはず
- 782 名前:nobodyさん [2009/11/05(木) 02:39:02 ID:bdU2dbgu]
- example.com/ref/abc
というURLでアクセスしたら example.com/ref/index.php?id=abc の結果を返すにはどうしたらいいですか?
- 783 名前:nobodyさん mailto:sage [2009/11/05(木) 02:43:08 ID:???]
- mod_rewrite
- 784 名前:nobodyさん [2009/11/05(木) 02:56:01 ID:bdU2dbgu]
- >>783
ありがとう
- 785 名前:nobodyさん mailto:sage [2009/11/05(木) 09:23:02 ID:???]
- FOR($i=0;;$i++){
PRINT 'パイズリ'; BREAK; } 二番目に作ったプログラムがこれ。
- 786 名前:nobodyさん mailto:sage [2009/11/05(木) 10:17:21 ID:???]
- for ($i = 0; i <= 10000; $i++) {
print "まんこ\n"; } print 'な? 9999の次でも1に戻るってことは無いだろ?';
- 787 名前:nobodyさん mailto:sage [2009/11/05(木) 10:31:55 ID:???]
- あたまおかしい
- 788 名前:nobodyさん mailto:sage [2009/11/05(木) 12:50:44 ID:???]
- やっぱり大量規制でいいや。
- 789 名前:nobodyさん mailto:sage [2009/11/05(木) 13:16:33 ID:???]
- てst
- 790 名前:nobodyさん [2009/11/05(木) 15:22:19 ID:17l6YWCO]
- ユーザー関数は、あちこちのページで使い回すから当然別のファイルにして、その都度インクルードとかするでしょ。
index1.php ↑インクルード user_func.txt ↓インクルード index2.php でもこうなるとindex1.phpにアクセスするということはuser_func.txtにもアクセスする事になるので、鯖に負担がかかる。呼び込むファイルが増えればなおさら。 負荷を無くすにはどうしたらいいでしょうか? 個人的にできたらいいなと思うのは、この様な自作関数もメモリ上に置けるようにしてほしい。 最初に鯖を立ち上げた時に読み込んで後は元々ある関数みたいに使いたい。
- 791 名前:nobodyさん mailto:sage [2009/11/05(木) 15:33:59 ID:???]
- >>790
実際、どの程度の負荷がかかってるのさ? 一度user_func.txtが読み込まれれば、2回目からはメモリを見に行くから気にしなくて良いレベルだと思うぞ。
- 792 名前:nobodyさん [2009/11/05(木) 16:22:18 ID:17l6YWCO]
- >>791
えっ?そうなの?って事はindex.phpとかも一回読まれたらメモリ見るの? 知らなかった。どの位の負荷がかかってるかはどうやって調べたらいい? 最近サイトを開くと重いんだよね。特に夜。LAN内のPCからでも遅いから回線が原因じゃないかと思うんだけど HDDがあれこれファイルを読んだりして追いついていけないのかもって思って。 CPU仕様率は結構低いんだけど。LANもギガビットLANだし、原因がHDDとしか思えないんです。
- 793 名前:nobodyさん mailto:sage [2009/11/05(木) 16:39:49 ID:???]
- >>792
気になるならdataスキーム形式にして埋め込めばいいよ
- 794 名前:nobodyさん mailto:sage [2009/11/05(木) 16:55:33 ID:???]
- >>792
普通は一度ファイルを読み込めば、次回はメモリを参照する。 readで毎回必ずHDDを読んでいたら大変な事になるよ。 CPU使用率がわかってて、DISK周りの負荷は調べてない? Linuxならiostatとかで見て見なよ、sarが入ってればそれでもいいし。
- 795 名前:nobodyさん mailto:sage [2009/11/05(木) 16:59:36 ID:???]
- >>792
ギガビットは過信しないほうがいい LANカードやHUBがしょぼかったら無意味 転送量が少なくても一度に大量の接続があれば捌ききれなくなる。
- 796 名前:nobodyさん mailto:sage [2009/11/05(木) 19:35:22 ID:???]
- >>792
世の中にはキャッシュと言うものがあってだな・・・ てか、HDDからの読み込みが気になるくらいでかいファイルなのか?そのスクリプト。
- 797 名前:nobodyさん [2009/11/05(木) 20:31:20 ID:17l6YWCO]
- >>793-795
OSはWindowsなんだけど、とりあえずHDDをSSDとか1万回転のHDDに変えたら速くなりそうな気がするんだよね。 ルータやLANケーブルはそれなりのやつを使ってるけど。 実際商用のサーバーってどうやって負荷計ってるの?そういうフリーソフトないかな? 何を改善すればいいか分からん。 >>796 スクリプトはでかくないよ。ただ動画のダウンロードが多い。これが遅延の原因かも。 あとデータベースとOSのドライブは別のドライブにした方が速い?パーティションじゃなくて完全に個別という意味で。
- 798 名前:nobodyさん mailto:sage [2009/11/05(木) 23:07:04 ID:???]
- >>797
流石にスレ違いだろ。 DISKは複数あったほうが速いにきまっとる 書いてるようにOSとDB分けたほうがいい。
- 799 名前:nobodyさん mailto:sage [2009/11/05(木) 23:39:13 ID:???]
- >790
PHPのファイルは、OSによってディスクから内容がメモリに読まれた上で、インタプリタによって機械語にコンパイルされ、実行される。 ここまでが基礎知識。 で、まず、今どきのOSはディスクからの読み込みをキャッシュする。 つまり、一度読んだファイルはメモリにそのまま持っておいて、更新がなければ次回以降はそいつを使う。 次に、APCやeアクセラレータといったPHP関連ライブラリを使うと、機械語にコンパイルされたコードを使いまわしてくれるようになる。
- 800 名前:nobodyさん mailto:sage [2009/11/05(木) 23:55:44 ID:???]
- >>797
NICかHubが壊れかけてるとか? とりあえず遅延がどの時点で発生しているのか調べないと。 なんかPHPが原因じゃないっぽい感じがする。
|

|