【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カテゴリ)の各スレで
0189nobodyさん
2008/04/16(水) 23:19:55ID:???理解できました。
ありがとうございます。
グローバル定数のPDO_ATTR_ERRMODEが5.1まで使用されていたけれど
今後はどんどんPHPを拡張していくから、グローバル定数増やすの嫌だから
PDO::ATTR_ERRMODEの様にクラスで定義されてる定数で呼び出してくれって事ですね。
0190nobodyさん
2008/04/16(水) 23:25:36ID:???php.netのクラスの部分は読んだんですけど
他言語でOOPの経験っていうか、特にJAVAの経験がないから
クラスの部分の説明が全然わかんないんですよ。
聞いても良いじゃないですか。
勉強してるだけで別に壊れて危険な物は作ったり公開してる訳じゃないんで
かっかしないでくださいよ。
0191nobodyさん
2008/04/17(木) 00:26:56ID:???0192nobodyさん
2008/04/17(木) 01:00:13ID:???だったらJavaやってこいよ
PHPがOOPに対応してるのはJavaからの移行者のため
PHPしかやらないような人間が無理してOOPする必要はない
PDOは確かに便利だが使い方わからないならネイティブ関数使うとか他に方法はある
そんなにクラスを理解したいなら先にJavaのサイトまわってこいよ
OOPのプログラム手法でわからないとこの質問ならまだしも
OOP教えてくれっていうのはお門違いだろ
手取り足取り教えてやる義理はない
0193nobodyさん
2008/04/17(木) 02:10:19ID:???l^l | | l ,/) | i| _/\/\/\/\/\/\_
', U ! レ' / / ̄ ̄ ヽ, \ /
/ 〈 / ', .n < こっこしないでくださいよ >
ヽっ{゚} /¨`ヽ {゚}, l^l.| | /) / \
/´ ̄ ̄ .l ヽ._.イl ', | U レ'//)  ̄|/\/\/\/\/\/\/\/ ̄
/ ィ-r--ノ ヘ_/ノ ', ノ /
,/ |! | ヽ rニ |
丿' W ヽ、 `ヽ l
. !/ ヽ、 | |
0194nobodyさん
2008/04/17(木) 02:12:07ID:???0195nobodyさん
2008/04/17(木) 02:57:25ID:???http://pc11.2ch.net/test/read.cgi/php/1158647441/
ほれこっち池
0196nobodyさん
2008/04/17(木) 08:49:20ID:YHuC7Xot例えばショップサイトで商品のデータをDBに入れます
それを呼び出すときは **.php?category=01&data=0000
とかで呼び出すわけですよね
それでこの商品の数が膨大になったりアクセスが増えると負荷がかかると思うのですが
どのような対処方があるのでしょうか?
鯖の性能を上げるといっても何がどうなってるのか概念みたいなものがわかりません
おおまかでいいのでご教授ください
0197nobodyさん
2008/04/17(木) 09:57:43ID:???0198nobodyさん
2008/04/17(木) 11:00:28ID:M2mwea+h終了するのを待ちたくない場合はどうすりゃいい?
一応execでC++で書いたプログラム(仮にaiueoという名前にする)を起動し、
aiueoの中でfork(), exec()してみた.親プロセス(aiueo)のほうはwaitを
しないで終了すればokかなと思ったら、aiueoがゾンビになって
結局起動した子プロセスが終了しないとwebページを操作できない・・
こーいう場合どうしたらええのん?
0199nobodyさん
2008/04/17(木) 11:11:15ID:???俺の経験則。反論もあるだろうし、信じなくて良い。
まずJOINを一つも無くす。その状態で並び替え条件にインデックスを張る。
そして一つのテーブルをシーケンシャルに検索する。
これはパフォーマンスをあげるための方法、
普通の設計ではJOINを無くすなんてことはしない。
むしろ逆。正規化をする。
検索条件にインデックスをはっても良い。
検索条件にインデックスをはることで遅くなることもある。注意。
like検索する所ははっても無意味。
10万件ぐらいならば、それが一番速い。
0200nobodyさん
2008/04/17(木) 11:53:39ID:???ドラゴンボール板向けのネタだよなとも思う。
0201nobodyさん
2008/04/17(木) 13:43:22ID:M2mwea+h解決.親プロセスと子プロセスの両方で、fclose(stdout)が必要だった.
おさわがせしました
0202nobodyさん
2008/04/17(木) 15:08:09ID:yQIY/UpaDBにバイナリ(画像等)を登録するメリットを教えてください。
0203nobodyさん
2008/04/17(木) 15:29:12ID:K4JzsNpfシンプルなものからはじめてコード読んで勉強したいと思ってます
0204nobodyさん
2008/04/17(木) 15:34:59ID:???いま、無料の掲示板(PHP)を使おうと思っているのですが
googleを入れたく思っています。
表示エリアには
// 表示
echo " <tr><th colspan=¥"2¥" $_class><p class=¥"header_menu¥">$res$edit$del</p>$title</th></tr>¥n";
echo " <tr>¥n";
echo " <td class=¥"t_row1¥">$name<br /><br />$id</td>¥n";
とあり、$IDの後に入れたいと思っています。
入れるgoogleは
<script type="text/javascript"><!--google_ad_client = "pub-11111111111";/* 125x125, 作成済み 08/04/16 */google_ad_slot = "11111111111";google_ad_width = 125;google_ad_height = 125;//-->
</script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
となっております。
その場合どのよう入れれば表示しますでしょうか?
上の行で$で指定する文章を入れるのが良いのでしょうか?
恐れ入りますが、ご教授下さい。
0205nobodyさん
2008/04/17(木) 16:00:22ID:???//表示 の直後に下記の5行
$google = <<<OMAEHAKUDARAN
<script type="text/javascript"><!--google_ad_client = "pub-11111111111";/* 125x125, 作成済み 08/04/16 */google_ad_slot = "11111111111";google_ad_width = 125;google_ad_height = 125;//-->
</script><script type="text/javascript"src="(p)http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
OMAEHAKUDARAN;
であとはecho文の入れたいところに$googleを入れる。たとえば
echo " <td class=¥"t_row1¥">$name<br /><br />$id $google</td>¥n";
0206nobodyさん
2008/04/17(木) 16:01:34ID:???そこは無視でよろ。
0207nobodyさん
2008/04/17(木) 16:09:21ID:???<<<OMAEHAKUDARAN
0208204
2008/04/17(木) 16:12:04ID:???0209nobodyさん
2008/04/17(木) 16:14:58ID:???ヒアドキュメントをより先にまず "は\でエスケープすること学ぼう
0210204
2008/04/17(木) 16:35:24ID:???$google = <<<GOOGLE
<script type=¥"text/javascript¥"><!--google_ad_client =¥"pub-1111111111¥";/* 125x125, 作成済み 08/04/16 */google_ad_slot =¥"pub-1111111111¥";google_ad_width = 125;google_ad_height = 125;//-->
</script><script type=¥"text/javascript¥"src=¥"http://pagead2.googlesyndication.com/pagead/show_ads.js¥">
</script>
GOOGLE;
として入れてるんですが、HTMLはき出した後ソースを見ると円マークが残ったままになっています。本来HTMLにはき出した後のソースは消えていますよね・・・。
やはり初心者にはむりですかね・・・・。
0212204
2008/04/17(木) 16:51:44ID:???ありがとうございます。
ヒアドキュメントという言葉を知らず、見落としました。
現状何となくエリアが出たのですが、表示はしていませんが
何となく出そうな感じまで行きました。
ちょっこり、色々いじってみます。ありがとうございました。
0213nobodyさん
2008/04/17(木) 17:03:04ID:???0214nobodyさん
2008/04/17(木) 17:50:59ID:???0215nobodyさん
2008/04/17(木) 18:01:14ID:???0220nobodyさん
2008/04/17(木) 19:45:53ID:???Apache2.63にPHP5.25をインストールしました。
PHPファイルをモジュールで動かしてたのですが、勉強のため一部のファイルのみCGIとして動かしたいんです。
動かしたいファイルのソースはこれです。これを実行させるとechoで出力はできるのですが、#!C:/php5/php-cgi -qが文字列として表示されてしまいます
ということはCGIとして動いてないからなんでしょうか・・・?
#!C:/php5/php-cgi -q
<?php
echo 1111111;
?>
0221nobodyさん
2008/04/17(木) 20:19:24ID:???0222nobodyさん
2008/04/17(木) 20:30:25ID:???一行目に#!〜おまじないをいれてみましたができません
httpd.confにcgiとして設定しないとできないのでしょうか?
0223nobodyさん
2008/04/17(木) 20:46:52ID:???0224nobodyさん
2008/04/17(木) 21:23:22ID:???0226nobodyさん
2008/04/17(木) 21:34:40ID:???どうもありがとうございました
0227nobodyさん
2008/04/17(木) 21:35:07ID:???0230nobodyさん
2008/04/17(木) 21:40:35ID:???答えられないならでてこなくていいからw
0231nobodyさん
2008/04/17(木) 22:08:12ID:???0232nobodyさん
2008/04/17(木) 22:12:02ID:???0233nobodyさん
2008/04/17(木) 22:46:48ID:???0234nobodyさん
2008/04/17(木) 22:47:05ID:???0235nobodyさん
2008/04/17(木) 22:56:16ID:???http://pc11.2ch.net/test/read.cgi/php/1158647441/
ほれこっち池
0236nobodyさん
2008/04/17(木) 22:57:36ID:???セッション管理が必要なサイトで、
セッションIDの情報をURLに埋め込んでいます。
ただ、ユーザーの中にセッションIDが入ったURLをブックマークとして
公開する人がいて、セッションハイジャックが毎日行われています。
これって、仕様として客に説明しているのですが、
客が納得してくれず、携帯であるが故に技術的に不可能なことを説明しているのですが堂々巡りです。
こういう場合、どのような資料を提示して納得してもらえるのでしょうか?
宜しくお願いします。
0237236
2008/04/17(木) 22:58:55ID:8cCEOmJ00238nobodyさん
2008/04/17(木) 23:00:47ID:???0240236
2008/04/17(木) 23:08:32ID:8cCEOmJ0アドバイスありがとうございます。
有効期間はつけているのですが、
短いと、すぐにセッションが切れると苦情が来るし、
長いと、2chやブログでURLが貼られた場合に、セッションハイジャックが多発してしまします。
結局、有効期間ですと根本的には解決されないのではというのが結論です。
>>239
いや、携帯のサイトですから・・・
0242nobodyさん
2008/04/18(金) 00:07:02ID:???0243nobodyさん
2008/04/18(金) 00:09:22ID:???0244nobodyさん
2008/04/18(金) 00:30:00ID:???セッションハイジャックの対策をしていない事が問題なだけ
0245nobodyさん
2008/04/18(金) 00:33:53ID:???「fscanfがおかしいです。」も好きだけど、これも気に入った。
0246nobodyさん
2008/04/18(金) 00:40:53ID:???うちの下請けが「これが仕様です」なんて言ってきたら二度と仕事回さないぞ
0248nobodyさん
2008/04/18(金) 01:40:20ID:???0249nobodyさん
2008/04/18(金) 01:46:33ID:???0250nobodyさん
2008/04/18(金) 06:04:41ID:???$a = "hoge";
や
isset($a) ? $a : "hoge"
をもっと簡潔に(短く)書く方法はありますか?
0251nobodyさん
2008/04/18(金) 06:40:54ID:???0252nobodyさん
2008/04/18(金) 13:48:09ID:VW/Du+vX【日付,名前,本文,削除pass,IP】とデータをログファイルに残してます。
出力はこのログを頭から順にだしてます。
ここから返信機能つき掲示板に組み替えたいのですが、
ログファイルにどのようにデータを残し、
どのように出力するように動作させたらよろしいのでしょうか?
流れだけでもどうかご教授お願いいたします。
0253nobodyさん
2008/04/18(金) 14:03:31ID:???とりあえず全てのスレッドにユニークなIDをつける。
↓
新しいテーブル(データベースの場合)、またはファイルを作成。
↓
【ユニークID,本文】でデータを取る。
↓
ユニークIDが新テーブルと一緒の物だけを表示。
(例) データベース使ってる場合のsql
>>252の作ってるテーブルのユニークID(55)を一覧する場合
select * from new_table where ユニークID = 55
こんな感じでいいのかな?
0254nobodyさん
2008/04/18(金) 14:04:08ID:???0255nobodyさん
2008/04/18(金) 14:14:18ID:VW/Du+vXさっそく取り掛かります。
ありがとうございました。
0256nobodyさん
2008/04/18(金) 14:48:16ID:???以下だったら3を返してほしいです。
$preg = "12HOGE.;asd123HOGE.;52HOGE";
/(\d+)HOGE/
0258nobodyさん
2008/04/18(金) 14:54:12ID:???0260nobodyさん
2008/04/18(金) 16:07:57ID:???0261nobodyさん
2008/04/18(金) 16:21:37ID:???0262256
2008/04/18(金) 16:36:42ID:???ほんと使えねえカスばっかだな
0263nobodyさん
2008/04/18(金) 16:53:22ID:???0264nobodyさん
2008/04/18(金) 16:54:10ID:???preg_match_all
返り値
パターンがマッチした総数を返します(ゼロとなる可能性もあります)。 または、エラーが発生した場合に FALSE を返します。
これより楽な方法はないよね
0266nobodyさん
2008/04/18(金) 17:07:53ID:???0267nobodyさん
2008/04/18(金) 17:48:00ID:???0268nobodyさん
2008/04/18(金) 18:10:03ID:???バージョンアップするしかないのでしょうか?
0269nobodyさん
2008/04/18(金) 18:10:22ID:???変数にマッチした値を格納できますが、
$matched[0]にあたる値はいらないので変数に格納しないでほしいのです。
$matched[1]とかは(?:)でできるのは知っています。
$matched[0]はどのようにすればいいのでしょうか?
$str = "1234abs=2;1234abs=7;432abt=3;";
preg_match_all("/[\d]+abs/",$str,$matched);
0270nobodyさん
2008/04/18(金) 18:10:35ID:???forループ文の中に、正規表現で処理するロジックが入っていたら、それこそ最悪。
また、正規表現の処理のために仮想メモリーを浪費するため、異常なメモリーの食い方をする。
現実的に出来るかどうかを検証せずに、出来る出来ると主張しているところが青臭さを感じるといっただけ。
0271nobodyさん
2008/04/18(金) 18:20:24ID:???0272nobodyさん
2008/04/18(金) 19:09:30ID:???解決方法をかけない奴はいくら言ってもダメ
0273nobodyさん
2008/04/18(金) 19:32:15ID:???0275nobodyさん
2008/04/18(金) 19:44:40ID:???0277nobodyさん
2008/04/18(金) 20:27:33ID:???それが問題になる処理じゃなければ使ってもいいだろ。
遅いってんならPHP使わないでCで組めや
0279nobodyさん
2008/04/18(金) 20:54:41ID:???0280nobodyさん
2008/04/18(金) 21:33:57ID:???人に代替案まで求めるって、どこまでスィーツ脳なんだ?
技術者としての素質もなければプライドもないのかね?
0281nobodyさん
2008/04/18(金) 21:34:58ID:???よく常駐して煽ってるいつもの馬鹿か
0283nobodyさん
2008/04/18(金) 21:36:48ID:???ぷっ
0284nobodyさん
2008/04/18(金) 21:38:57ID:???考察(笑)
0285nobodyさん
2008/04/18(金) 21:47:56ID:???0286nobodyさん
2008/04/18(金) 21:57:15ID:???0287nobodyさん
2008/04/18(金) 21:58:07ID:???お前さんが本当に代替案を考えられる技術があるのか
その方法が標準の正規表現関数と比べてどの程度早くなるのか
それが知りたいだけ
0288nobodyさん
2008/04/18(金) 22:03:28ID:???■ このスレッドは過去ログ倉庫に格納されています