1 名前:nobodyさん [2009/03/09(月) 02:14:28 ID:HyrthkeE] 質問者はまず>>1 を良く読むこと(必須!) 過去スレ、関連スレ、FAQなどは>>2-10 辺り 次スレは>>980 が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。 ◆前スレ 【PHP】下らねぇ質問はID出して書き込みやがれ 81 pc11.2ch.net/test/read.cgi/php/1234958956/ ◆質問用テンプレ 【OS名】vine linux 【PHPのバージョン】php5.26 【連携ソフトウェア】mysql 【質問内容】 ◆質問する時の注意 ・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す) ・ 己の行った操作、変更などを詳しく明記すること。 ・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。 ・ 質問者として、態度をわきまえること。 ・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。 (PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。) ◆質問後の注意 ・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。 ・解決しなくても回答をもらった場合はお礼を言うこと。 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。) ◆回答者への注意 ・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
96 名前:nobodyさん [2009/03/11(水) 17:54:26 ID:aBj2wILp] PHPで、端末のOS・ブラウザ・IPなどを取得できるのは知っているんですが、固体識別番号(?)を取得することは可能でしょうか? 以前に、他人の家から漏れている無線LANの電波を悪用して、殺人予告したヤツが捕まりましたが、ノートPCリカバリ→他人の電波で殺人予告→再リカバリとやればバレないような気がします。 厨房質問でお恥ずかしいですが、よろしくお願いします
97 名前:nobodyさん mailto:sage [2009/03/11(水) 18:04:38 ID:???] 通報しました
98 名前:nobodyさん [2009/03/11(水) 19:13:57 ID:TxDdMOL9] 「最新記事一覧」とか「サイト内検索」とかの機能を プラグインとしてまとめて、下のようにして読み込んでいます。 $plugin_name = "new_list.php"; define("PLUGIN_DIR",プラグインまでのパス); if(file_exists(PLUGIN_DIR."/".$plugin_name)){ include PLUGIN_DIR."/".$plugin_name; newList(); //プラグイン内の関数を実行 } こうするとプラグインの数だけ毎回includeする事になるのですが 負荷がかからないか、後々めんどうなことにならないかと懸念しています。 自分では予測できないのですが、「こういうやり方だとこうなる」 というような指摘があれば、教えて下さい。
99 名前:nobodyさん mailto:sage [2009/03/11(水) 19:55:56 ID:???] >>96 リカバリしてもmacアドレス変わらないから無理じゃね?
100 名前:nobodyさん mailto:sage [2009/03/11(水) 20:05:36 ID:???] >>98 そういう時のためにinclude_onceとかrequire_onceという組み込み関数が用意されてるけど、負荷が高くなるのでお勧めしない なのでプラグインがクラスで実装されているなら、ファイル名とクラス名を統一しておいて $files = glob(PLUGIN_DIR .'/*.php'); foreach ($files as $file) { if (!class_exists(pathinfo($file, PATHINFO_FILENAME))) require $file; } などとすればいいんじゃない?
101 名前:nobodyさん [2009/03/11(水) 20:09:31 ID:BrBOeywI] 初めて書き込みさせて頂きます。 【OS名】Windows XP 【PHPのバージョン】php4.4.9 【連携ソフトウェア】Apache2.0.63, MySQL Server 6.3 【質問内容】 pearを導入したく、go-pear.batを実行して試みたのですが、 Extracting installer.................. Using local package: PEAR.............ok Using local package: Structures_Graph....ok Preparing installer.................. Warning: fopen(XML/RPC.php): failed to open stream: No such file or directory in C:\php\temp\PEAR\Remote.php on line 187 For this remote PEAR operation you need to load the xmlrpc extension or install XML_RPC 続行するには何かキーを押してください . . . というエラーが出てしまい、途中で止まってしまっているようです。 インストールされていないためにPEARコマンドも実行できません。 php.iniのinclude_pathにpearディレクトリへのパスや、extensions_dirなども 見直しましたが、他に何が悪いのかわからず困っております。
102 名前:nobodyさん mailto:sage [2009/03/11(水) 20:16:34 ID:???] 困っておりますじゃなくて、何が知りたいのか書けば? 困っておりますじゃぁ、「そうですか」としか言えない気もするが、 めっちゃ親切な人がいれば答えてくれるのかもしれんけど。 それはそうと、PHP5にして試してみたら? go-pearが古いのかもしれないよ。
103 名前:101 [2009/03/11(水) 20:34:19 ID:BrBOeywI] すみません、自己解決までには至っていませんが、少し先に進むことができました。 上記失敗の原因はphp.iniのphp_xmlrpc.dllがコメントアウトでした。 これを外し、必要となるiconv.dllをsystem32にコピーしてから試したところ、 PEAR_Remote (pear.php.net:80) : unexpected HTTP response という別のエラーが出るようになりました。 こちらの対処法を調べてみることにします。 >>102 その通りですね、失礼しました。 以後、質問の意図を明確にするよう注意しようと思います。
104 名前:認定回答者 [2009/03/11(水) 20:39:09 ID:nPJIwFx5] >>102 は素人だからスルーでおk
105 名前:nobodyさん mailto:sage [2009/03/11(水) 21:01:13 ID:???] >>104 他の回答者を格付けできるほどの立派な頭脳をお持ちなら、何故そこで最適解をお示しにならないのでしょうか? 不思議で仕方がありません><
106 名前:nobodyさん mailto:sage [2009/03/11(水) 21:18:55 ID:???] ファイルアップロードの質問です。 クライアントの方はJavaScript/VBScriptで、バイナリファイルをサーバー(PHP)へ アップロードしたいのですが、どのようにすればいいでしょうか? JavaScript は var xmlhttp = new ActiveXObject("MSXML2.XMLHTTP"); //XMLHttpRequest(); xmlhttp.open('POST', 'hoge/recieve ', true); xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xmlhttp.send('formdata=123'); とすると、PHPの方で'123'は取れるのは確認しました.問題はバイナリで、 "ADODB.Stream"でバイナリファイルを str=Read(); strをBase64変換しようとするのですが 使っている変換用モジュールが駄目なのかもしれませんが、ここでこけてしまいます。 まずはBase64変換でポピュラーなやり方を説明しているサイトなどありませんでしょうか お願いいたします。
107 名前:nobodyさん mailto:sage [2009/03/11(水) 21:46:49 ID:???] >>106 <input type="file">
108 名前:nobodyさん mailto:sage [2009/03/11(水) 22:14:08 ID:???] 任意のフォルダ名を入力させて、その中のファイルをULさせようとしております。 <input type="file">はひとつひとつファイル選択しないといけないので、、、
109 名前:nobodyさん mailto:sage [2009/03/11(水) 22:14:35 ID:???] >>105 必死だな
110 名前:nobodyさん mailto:sage [2009/03/11(水) 22:20:34 ID:???] ,..-─‐-..、 /.: : : : : : : .ヽ R: : : :. : pq: :i} |:.i} : : : :_{: :.レ′ ノr┴-<」: :j| /:r仁ニ= ノ:.ノ|! _ /:/ = /: :/ }! |〕) コツン {;ハ__,イ: :f | /´ / }rヘ ├--r─y/ / r'‐-| ├-┴〆 _, 、_ '⌒ ☆ 仁二ニ_‐-イ | | ∩`Д´) | l i 厂  ̄ニニ¬ ノ ⊂ノ >>108 ,ゝ、 \ \ __厂`ヽ (__ ̄) ) / /\_i⌒ト、_ ノrr- } し'し′ └-' ̄. | |_二二._」」__ノ
111 名前:nobodyさん mailto:sage [2009/03/11(水) 22:23:31 ID:???] ,..-─‐-..、 /.: : : : : : : .ヽ R: : : :. : pq: :i} |:.i} : : : :_{: :.レ′ ノr┴-<」: :j| /:r仁ニ= ノ:.ノ|! _ /:/ = /: :/ }! |〕) コツン {;ハ__,イ: :f | /´ / }rヘ ├--r─y/ / r'‐-| ├-┴〆 _, 、_ '⌒ ☆ 仁二ニ_‐-イ | | ∩`Д´) | l i 厂  ̄ニニ¬ ノ ⊂ノ >>109 ,ゝ、 \ \ __厂`ヽ (__ ̄) ) / /\_i⌒ト、_ ノrr- } し'し′ └-' ̄. | |_二二._」」__ノ
112 名前:nobodyさん mailto:sage [2009/03/11(水) 22:23:43 ID:???] >>10 8 氏ね
113 名前:98 mailto:sage [2009/03/11(水) 23:04:15 ID:???] >>100 こういうやり方、はじめて知りました! ちょっとよく分からない関するとかありますが、調べてみます。 ありがとうございました。
114 名前:nobodyさん mailto:sage [2009/03/11(水) 23:06:48 ID:???] <img src="xxx.com/xxxx.php?sz=160x240&type=11 "> サーバーを引っ越したらこういうような画像が表示ができなくなりました。 いろいろ試してみたところどうも引越し先のサーバーが上の表記のものを 画像として認識してないと思われます。 画像元は他サイトなのでいじれません。 どうすれば画像として認識してくれるのでしょうか? accessで何かすればいいのかなとは思っていますがどう書けばよいでしょうか ご教授お願いします。
115 名前:nobodyさん [2009/03/11(水) 23:32:05 ID:Co0l4rZT] >>114 どうかな? <? header("Content-type: image/gif"); $url = "xxx.com/xxxx.php?sz=160x240&type=11 "; readfile("{$url}"); ?>
116 名前:nobodyさん mailto:sage [2009/03/11(水) 23:47:01 ID:???] >>92 使用しているDBまた、どんなSQLを実行したか分からないけど、 bindParamは変数は参照としてバインドされるので、 メソッドの中でPDOドライバが何か余計なことをしたのかもしれないね。 bindParamの前後で、デバッガか、var_dumpで変数をチェックしてみては?
117 名前:114 mailto:sage [2009/03/12(木) 00:02:38 ID:???] >>115 できました!! ありがとうございます
118 名前:nobodyさん mailto:sage [2009/03/12(木) 00:11:31 ID:???] 初歩的な質問で恐縮です。 正規表現で複数回続く文字 。 を一回に置換したいです。 以下で試しましたがうまくいきません。 最長マッチ?のしかた教えて下さい。 mb_regex_encoding("sjis"); $text = "今日は木曜日です。。天気は晴れ。。。。"; $text = preg_replace("/。+/","。", $text);
119 名前:nobodyさん mailto:sage [2009/03/12(木) 00:22:47 ID:???] >>118 preg_replace('/(。)+/', '。', '今日は木曜日です。。天気は晴れ。。。。'); で、できた。 括弧が必要な理由は分からん。
120 名前:nobodyさん mailto:sage [2009/03/12(木) 00:23:56 ID:???] それじゃ”。”にしか対応できてへん
121 名前:nobodyさん mailto:sage [2009/03/12(木) 00:25:48 ID:???] >>119-120 できました。ありがとうございます。
122 名前:nobodyさん mailto:sage [2009/03/12(木) 01:21:32 ID:???] オブジェクト指向なるものを調べ始める ↓ みんなで開発するときは作業分担効率化 ↓ フレームワークを使うのが当たり前 ↓ ある程度自動でさくさくプログラム書けるらしい ↓ なんか自分でやった感がなさそうな気がしてモチベーション下がってきた・・・ まだ初心者すぎるし、ずっと手続き型でやるほうがいいのだろうか・・・ でも作業分担ですっきり綺麗にプログラムかけるのとか憧れるし、 そんなことができるなら今のうちにやっておいたほうがいいし、 でもプログラム自動生成とかになるらしい?からそれになれちゃうと、 今度は手続き型で覚えてきた基礎がおろそかになって忘れそうな部分が多そうで怖い・・・ 一体どうしたら
123 名前:nobodyさん mailto:sage [2009/03/12(木) 01:37:44 ID:???] 別に手続き型言語でもフレームワークとか自動生成とかあるだろ 問題を分けて考えるべきだ
124 名前:nobodyさん mailto:sage [2009/03/12(木) 01:54:01 ID:???] 一人OOPで作業分担もヘチマもないだろw
125 名前:nobodyさん mailto:sage [2009/03/12(木) 01:59:09 ID:???] 誰にも見せないプログラムでも 後から見て、 おお〜これは見やすくて編集しやすいな〜 みたいに言われそうなの書いてみたい
126 名前:nobodyさん mailto:sage [2009/03/12(木) 02:19:19 ID:???] >122 ・21世紀にもなってOOPができないエンジニアはゴミ ・OOPでないコードは、ひとりで書くコードでもゴミ ・「手続き型のコード」が何を指すか知らんが、PHPの文法はどのみち完璧にしないと何も出来ない ・個々のフレームワークの知識は要らん MVC構造とは何かを頭に叩き込んでから、必要なものを自分で書け OOP分かってない奴はクラス使っても糞コードしか書けないのと同じで、フレームワークを使おうが基礎が出来てない奴のコードはやっぱりクズだ ・ガタガタ抜かす前に動くコードを書けよハゲ 自動でサクサクできる?んじゃあやってみろよハゲ 手を動かさないエンジニアはゾウリムシ以下だ
127 名前:nobodyさん mailto:sage [2009/03/12(木) 04:31:24 ID:???] >>118 ,119 補足 mb_regex_encoding()はmb_ereg*()にしか適用されないので マルチバイト文字だと認識できていない事が原因 その例ならpreg_replace()ではなくmb_ereg_replace()を使う
128 名前:nobodyさん mailto:sage [2009/03/12(木) 09:10:37 ID:???] 今はアスペクト指向なんてものがあるんですよ
129 名前:nobodyさん mailto:sage [2009/03/12(木) 09:36:10 ID:???] 手続きとかオブジェクトとかアスペクトとか手段でしかないからそれありきで考えるなんてアホ 成果上げるためにどう開発するのがいいか個別に考えればええやん
130 名前:nobodyさん mailto:sage [2009/03/12(木) 09:55:01 ID:???] 開発速度を犠牲にしても初心者は手続きで何がどうなっているのかを ちゃんと見極めたほうがいい 仕事になればたいした技術もおそわらず FWとAPIの使い方を覚えさせられてラピッド開発させられるだけ 短期間で効率的に開発というのは業務では中核となる課題だが 結果ゆとりを多く生み出してる
131 名前:nobodyさん mailto:sage [2009/03/12(木) 11:25:18 ID:???] すいませんブログを作りたいのですが必要最低限の機能は以下でそろってますか? トラックバック 書き込み(コメント、記事投稿) ログ出力
132 名前:nobodyさん [2009/03/12(木) 11:26:19 ID:blHr3iRk] すいませんid出し忘れました
133 名前:108 mailto:sage [2009/03/12(木) 11:41:37 ID:???] さっさと回答しろよ初心者ども
134 名前:nobodyさん mailto:sage [2009/03/12(木) 11:46:49 ID:???] ブログに必要なものは ↓
135 名前:nobodyさん mailto:sage [2009/03/12(木) 11:48:27 ID:???] 根気
136 名前:nobodyさん mailto:sage [2009/03/12(木) 13:49:23 ID:???] >>131 最低限、カテゴリ別一覧とカレンダーと月別一覧は必要だろう
137 名前:nobodyさん mailto:sage [2009/03/12(木) 13:56:45 ID:???] >>136 最低限、占いとポストペットとログールは必要だろう
138 名前:nobodyさん mailto:sage [2009/03/12(木) 14:26:31 ID:???] ウェブログリングをお忘れでない?
139 名前:nobodyさん mailto:sage [2009/03/12(木) 17:18:46 ID:???] >>136 カテゴリ別一覧とかカレンダーとか月別一覧とか 生きた化石がこんなところにもいるんですね
140 名前:nobodyさん [2009/03/12(木) 17:39:53 ID:w9p/Xb/s] カテゴリ別一覧の仕組みがいまいちわからないんですけど どのような仕組みでしょうか?
141 名前:nobodyさん mailto:sage [2009/03/12(木) 17:50:28 ID:???] SELECT title,body,entrydate FROM entry WHERE categoryid=1;
142 名前:nobodyさん mailto:sage [2009/03/12(木) 17:52:19 ID:???] >>139 あなたは使いにくいものはかっこいいと勘違いしてるクリエイターさんですね
143 名前:nobodyさん [2009/03/12(木) 19:04:33 ID:y65Mhsc8] 配列から要素を抜き出し、その分を詰めたいのですが、どうするのがスマートですか? $array = array('a','b','c'); $str = pick($array,1); ↓ $array : array('a','c') $str : 'b' のような動作をさせたいです
144 名前:nobodyさん mailto:sage [2009/03/12(木) 19:11:59 ID:???] >>143 $str = $array[1]; unset($array[1]);
145 名前:nobodyさん mailto:sage [2009/03/12(木) 19:26:26 ID:???] unset使うコーディングはクズだな
146 名前:nobodyさん mailto:sage [2009/03/12(木) 19:26:42 ID:???] >>143 list($str) = array_splice($array, 1, 1); >>144 unsetは数値キーを再割り当てしない
147 名前:nobodyさん mailto:sage [2009/03/12(木) 19:44:54 ID:???] >>146 ありがとうございました
148 名前:nobodyさん [2009/03/12(木) 21:50:39 ID:Y3aY0Tvp] PHP+MYSQLで、MySQL寄りの質問になると思うんですが、 MySQLのスレッドがなかったので…。 スレ違いなら申し訳ないです。 [testテーブル] no(オートインクリメント) name 1・フォームからnameデータを受け取り、testテーブルにINSERTで入力。 2・その後すぐに、1の入力で作成されたレコードのnoを引き出す。 これを行うのに最適な方法はなんでしょう? nameはキーではなく重複する可能性があるのでnameでのselectは不可です。 とりあえず2で select * from test order by no desc limit 0,1 で取り出す方法を考えたんですが、 その場合1と2の間に一貫性?を持たせなければなりません。 この一貫性を保持させる方法がMySQLにあるのかPHPにあるのか・・・。 もしこの方法が最適なら一貫性を持たせる方法 (できれば例のコード)を教えてください。 また他に最適な方法があるならぜひお願いします。
149 名前:nobodyさん mailto:sage [2009/03/12(木) 21:53:28 ID:???] >>148 説明 int mysql_insert_id ([ resource $link_identifier ] ) 直近の INSERT クエリにより AUTO_INCREMENT カラム用に生成された ID を取得します。
150 名前:nobodyさん [2009/03/12(木) 22:12:31 ID:w9p/Xb/s] classの継承についてちょとよく分からないので質問です。 class Main{ function dbList(){ // MySQLから特定のテーブルリスト一覧を取得する } } class Sub extends Main{ function output(){ $list = $this->dbList(); // Mainからテーブルリストを取得 } function output2(){ $list = $this->dbList(); } } こういうclassがあったとして、Sub内のoutput()を実行すると MainのdbList()を実行することになりますよね? そしてoutput2でdbList()を使いたい場合、再度実行する事になりますよね? そうではなくて、Mainで設定した内容を使い回しするような事って出来ないのでしょうか?
151 名前:nobodyさん mailto:sage [2009/03/12(木) 22:29:49 ID:???] >150 function dbList(){ if(false === isset($this->dbList){ $this->dbList = mysql_fetch_なんとか(); } return $this->dbList; } 遅延初期化とか呼ばれるテクニックで、割と定石。 使いすぎるとカオスになるので、どの値をどのクラス/インスタンスで保持するかは慎重に検討したほうがいい。
152 名前:nobodyさん [2009/03/12(木) 23:11:07 ID:Y3aY0Tvp] >>149 まずint mysql_insert_id ([ resource $link_identifier ] ) について調べてみます。 助言本当にありがとうございます。
153 名前:nobodyさん [2009/03/12(木) 23:53:49 ID:ZuCT+g0F] file.txtにcsvで以下のように記録しました これからファイルからデータベースにデータを移し替えたいと思ってます id,name,age 1,木村,10 2,佐藤,20 3,木下,30 4,山田,40 5,坂本,50 mysqlを使用した場合でダイレクトにid2の佐藤さんのデータのみを取得するにはどうしたらよろしいでしょうか? ファイルですとforeachでまわしてexplodeで区切る感じで、データを全部読み込んで処理させてるのですが データベース使ってもデータは全部読み込んでまわして取得するのでしょうか?
154 名前:nobodyさん [2009/03/12(木) 23:59:52 ID:qegdPp88] タブ区切りのbbs.cfgからexplodeで設定値を取り出す このとき、配列の要素が100個ぐらいだとして、 こういう場合はいちいち使うものに変数名をつけるか、 それとも配列の[数字]でつかうのか、 どっちが一般的なんでしょ? こういう場合に限らず、一般的に他の言語とかでも たくさんの値を使う場合はどういう管理をしてるんでしょう??
155 名前:nobodyさん mailto:sage [2009/03/13(金) 00:15:24 ID:???] >>153 データーベースの場合は、 WHERE id=2 とかって指定すれば、id=2のデーターだけ 読み込める。
156 名前:nobodyさん mailto:sage [2009/03/13(金) 00:27:47 ID:???] >154 個数はあんま関係ないな。 論理的に「同じようなものが100個」ならば、100要素の配列を使う、というだけ。 例えば>153のデータが100行ならば、人間が100人なわけで、100要素の配列に格納するのは理にかなっているわけだ。 だが、列が3列だからといって、各行を3要素の配列で表現したりはしない。idと年齢は別の概念だからな。 たとえスリーサイズとか干支とか住所とかで各行の要素が何十とあったとしても、数字添字の配列にはしない。 $person[0] = array( 'id' => 1, 'name => '木村', 'age' => 10); $person[1] = array( 'id' => 2, 'name => '佐藤', 'age' => 20); みたいな連想配列に格納する。もしくはクラスを使う。 1行ずつ処理する場合も list($id, $name, $age) = explode(',', $line); みたいにやった方が、コードが読みやすいはず。
157 名前:nobodyさん mailto:sage [2009/03/13(金) 00:43:01 ID:???] >>154 >>156 俺は100も200もあって意味とか型とかが同一のデータなら(試験の点数など)、 いちいち列名なんてつけずに数字で扱うけどな。まあどっちもでいいんじゃね
158 名前:nobodyさん [2009/03/13(金) 11:07:13 ID:eI4NlDZU] classの中で変数を宣言するときvarにしようと思ったのですが どこかのサイトで、php5はvarは使うな的なことを書いてありました そのサイトどこか忘れてしまったのですが、varの他に何を使うのが適当なのでしょうか
159 名前:nobodyさん mailto:sage [2009/03/13(金) 11:28:27 ID:???] >>158 www.php.net/manual/ja/language.oop5.visibility.php > 注意: キーワード var で変数を宣言する PHP 4 の方法は、 > 互換性を保つために今でもサポートされています (これは public と同じ扱いになります)。 > PHP 5.1.3 より前では、 これを使用すると E_STRICT 警告が発生します。
160 名前:nobodyさん mailto:sage [2009/03/13(金) 13:37:40 ID:???] PHPである程度の量の文(300KBぐらい)を処理するために ヒアードキュメントを使っています。 フォームで処理すればコピペの時のスクロールが省けると思いフォームの POST経由で変数を処理しましたが100KBぐらいしか処理できません。 これはフォームの入力制限等があるからでしょうか?
161 名前:nobodyさん mailto:sage [2009/03/13(金) 14:01:14 ID:???] >>160 そんなことはないと思うぞ。ブログとか文章が長くて容量がでかいだろ。 おそらく、設計にミスがあるんじゃないか?
162 名前:nobodyさん mailto:sage [2009/03/13(金) 14:14:40 ID:???] >>153 DBの場合、主にSQL文を使う。その場合なら SELECT id,name,age FROM テーブル名 WHERE id = 2; こんな感じのSQLをデータベースに投げることによって、idが2のやつのデータを返してくる。 ファイルよりも細かい検索ができるからいろいろやってみると面白いよ。 詳しくはMySQLのオンラインマニュアルとかSQLの入門サイトを参照のこと。
163 名前:nobodyさん mailto:sage [2009/03/13(金) 14:17:06 ID:???] >>153 ufcpp.net/study/csharp/ap_ver3.html#linq
164 名前:nobodyさん [2009/03/13(金) 15:02:30 ID:6EGCx2Tu] PHPで痴漢、いやっ置換する関数などはありますか?
165 名前:nobodyさん mailto:sage [2009/03/13(金) 15:04:59 ID:???] str_replace preg_replace
166 名前:nobodyさん [2009/03/13(金) 15:05:04 ID:OOgBCn1Z] Cache_Liteを使って、 一つのフォルダに50万以上のページのキャッシュを保存してます。 今後も+1万/日のペースで増加します。 やはり、キャッシュを保存するフォルダは適度に分散した方がいいのでしょうか? 動作が遅くなる可能性はありますか。
167 名前:nobodyさん [2009/03/13(金) 15:19:24 ID:DZKgFtDb] classの中でevalを使う方法を教えていただけませんか 使えなかったらすみません class hoge{ var $hoge = eval("a"); } このようなエラーが返ってきます。Parse error: syntax error, unexpected T_EVAL
168 名前:nobodyさん mailto:sage [2009/03/13(金) 15:32:23 ID:???] eval(笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑
169 名前:nobodyさん mailto:sage [2009/03/13(金) 15:42:15 ID:???] class hoge{ var $a; function hoge(){ $this->a = eval... } } こうしてみたら? eval使ったことないけど。
170 名前:nobodyさん [2009/03/13(金) 16:00:26 ID:XJCetXbH] 自動で、毎日ある時間になったら、スクリプトを実行させたいのですが、 ループ文で四六時中、time()関数を実行して、設定した時間になったら、ループを抜け出しスクリプトを実行する、 というやり方はありですか?
171 名前:nobodyさん mailto:sage [2009/03/13(金) 16:06:22 ID:???] >>170 おぉ、その手があったか。是非、max_execution_timeの限界ってどのくらいか試してくれ。 でもそのスクリプト、ずーっと実行し続けられる保証がないよね? そしたらそれを定期的に監視するするスクリプトもそれで動かせばいいね。うんうん。
172 名前:nobodyさん mailto:sage [2009/03/13(金) 16:07:30 ID:???] 現実的には cron だな。
173 名前:nobodyさん [2009/03/13(金) 16:13:19 ID:DZKgFtDb] >>169 なるほど! 思いつきませんでした。ありがとうございます >>170 ものすごく負荷がかかると思います。 レンタルサーバーなら、コンパネからcron使えないですかね
174 名前:nobodyさん mailto:sage [2009/03/13(金) 16:19:46 ID:???] >>170 クライアントPCつけっぱなしか。電気代もったいないな
175 名前:170 [2009/03/13(金) 16:21:18 ID:XJCetXbH] レスありがとうございます。 まったくの入門者でwinで自鯖をやる予定です。 max_execution_timeというので、負荷がわかるわけですね、勉強になりました。 まだ、試してないんですが、cronだと細かい設定が出来ないですよね?
176 名前:nobodyさん mailto:sage [2009/03/13(金) 16:37:25 ID:???] >>174 ignore_user_abortがある >>175 工夫すれば負荷なんてそんなにかかんないよ。 1クライアント分消費するだけ。 max_execution_timeを無限設定して ignore_user_abortで起動して、forループにSleepを巨大な秒数でセットしてやれば。 あとは、プロセスを一つに絞るのに、どっかにPIDファイル作るとか
177 名前:質問させて下さい [2009/03/13(金) 21:45:58 ID:75Yme90V] php5.25です。 phpで下記を書いてます。 <?php $mainrss = array ( 'www.123.net/ ○○', '456.net/ ○○' ); ?> URLは取得できるようになるんですが、URLの後ろに短い紹介文を書きたいのですが、 カンマじゃなくて何を使ってあげるといいのでしょうか? ○○に短い紹介文を記入したいです アドバイスをお願いします。
178 名前:nobodyさん mailto:sage [2009/03/13(金) 21:48:38 ID:???] 意味が分からんけど=>でキーにでもすれば?
179 名前:質問させて下さい [2009/03/13(金) 21:50:51 ID:75Yme90V] >>178 レスありがとうございます。 下記のような感じで記入できたと思うんですが、思い出せなくて。 'www.123.net/ ','あいうえお',
180 名前:nobodyさん mailto:sage [2009/03/13(金) 21:56:15 ID:???] .
181 名前:質問させて下さい [2009/03/13(金) 22:06:25 ID:75Yme90V] >>180 レス有り難うございます! それでも無理でした 'www.123.net/, '123', でもだめでした。 難しいですね。
182 名前:nobodyさん mailto:sage [2009/03/13(金) 22:09:21 ID:???] カンマじゃなくてドットだって
183 名前:質問させて下さい [2009/03/13(金) 22:15:49 ID:75Yme90V] それでもだめでした。 レスを有り難うございます。 本を買ってきて勉強したいと思います。
184 名前:nobodyさん mailto:sage [2009/03/13(金) 22:25:13 ID:???] いや、つか何をしたかったの?
185 名前:nobodyさん mailto:sage [2009/03/13(金) 23:25:30 ID:???] >175 Unix/Linuxならcronだが、同じ事はWindowsではタスクスケジューラで実現する。 (Windows上で動くcronも存在するが) 無限ループを回すよりはこちらのほうがスマート。 「cronだと細かい設定が出来ない」の意味が良く分からんな。 1分以下の精度で実行タイミングを指定したい(12時30分15秒じゃないとダメなんだ!とか)とか言う意味ならcronの仕様上無理だが。 曜日指定とか時刻指定とかなら余裕で可能。cron覚えるのがダルいならスクリプト側で制御してもいいしな。 任意のスクリプトを動作させられるのだから、そのPC上で可能な事はなんだって出来る。
186 名前:nobodyさん mailto:sage [2009/03/13(金) 23:57:37 ID:???] >>176 >max_execution_timeを無限設定して 笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑 笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑 笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑 笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑 笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑 笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑
187 名前:nobodyさん mailto:sage [2009/03/14(土) 00:00:05 ID:???] >>177 $ary = array( array("url"=>"127.0.0.1","shoukai"=>"しょうかい1"), array("url"=>"yahoo.co.jp/ ","shoukai"=>"しょうかい2"), array("url"=>"2ch.net/ ","shoukai"=>"しょうかい3") );
188 名前:170 [2009/03/14(土) 01:07:17 ID:u9lyCe1c] 170です。レスくれた方ありがとうございます。 いまいちよくわからないので、もう少し勉強してからもう一度質問させて頂きます。
189 名前:質問させて下さい [2009/03/14(土) 07:04:33 ID:hOLVrRGN] >>187 わああああああ! レスありがとうございました。 このようにやりたかったです。 無事に出来ました!本当にありがとうございます。 phpの本は買って勉強をしておきます。
190 名前:nobodyさん mailto:sage [2009/03/14(土) 07:21:36 ID:???] >>189 >>178 勉強する前に人の話を聞け
191 名前:nobodyさん mailto:sage [2009/03/14(土) 11:14:07 ID:???] >>187 に超図解シリーズで本を出してもらうしかないな って、超図解の出版元って倒産してるのかよ!w
192 名前:nobodyさん [2009/03/14(土) 11:44:37 ID:sxFlkHR4] phpって一つの.phpに何行くらい書いても大丈夫なんでしょう 5000行くらいなら平気ですかね?もちろん文字数や処理にもよると思うのですが、 (適度に改行したとして)大体何行くらいに納めるみたいなのがあればよろしくおねがいします
193 名前:nobodyさん mailto:sage [2009/03/14(土) 11:51:38 ID:???] 特にないよ
194 名前:nobodyさん mailto:sage [2009/03/14(土) 13:20:33 ID:???] >192 俺の場合、1ファイル1クラスは死守。 1クラス500行上限が目安で、1メソッドは基本的にスクロールせずに全部見える分量に収める。 1ファイルが大きくなると、当然その分パフォーマンスに影響するし、保守もしづらい。
195 名前:nobodyさん mailto:sage [2009/03/14(土) 13:25:01 ID:???] 同サイズだったらファイル数が多い方がパフォーマンス悪くなるわ
196 名前:nobodyさん mailto:sage [2009/03/14(土) 13:43:06 ID:???] >>195 クラスローダーを書いて、頻繁に使うクラスはパッキングしてキャッシュすればOK