【PHP】下らねぇ質問はここに書き込みやがれ 31
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/10/25(水) 08:45:46ID:???まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
【前スレ】
【PHP】下らねぇ質問はここに書き込みやがれ 30
http://pc8.2ch.net/test/read.cgi/php/1159979905/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しない)
・ サーバーのOS、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
0253nobodyさん
2006/10/27(金) 22:17:06ID:???読み書きの仕方によるんでは。
毎回一万行すべて読む必要があるんなら、いっこのファイルにまとめてもいいだろうし。
3000行目と6000行目と6500行目だけアクセスする、とかいうパターンなら
一行いちファイルのほうがいいかもしれないし。
0254nobodyさん
2006/10/27(金) 22:31:21ID:KqclDjNY自分の書き方が悪かったです。
1万行の場合はその中に特定の1行が存在するかどうかのチェック
1万個の場合はその中に特定のファイルが存在するかどうかのチェック
というものです。
そのあとファイルの書き換えも行うので、その場合は1万個のほうが
オーバーヘッドが少なくて良いのでは無いかと考えているのですが、
1万個もファイルが有る場合のis_file(探したいファイル名)は重くて悪い方法
なのでは無いかということも考えられたので。分けるのが良いのか、まとめるのが良いのか
ということに関して、一般的にどうするのが良いとされているのかが気になりました。
0255nobodyさん
2006/10/27(金) 22:32:09ID:kvLwzQNj「1万行のファイルから特定の内容を行ごとで検索するという処理」
→そのアルゴリズムを線形検索という。
「同一ディレクトリにある1万個のファイルに特定の名前の物が存在するか」
→ファイルシステム(やOS)による。
バイナリツリーとか、ハッシュテーブルとか、線形検索とか、さまざまなアルゴリズムが使われている。
0256nobodyさん
2006/10/27(金) 22:33:17ID:kvLwzQNj大量の画像ファイルを配信するサーバーを作ろうと思っています。
http://q.hatena.ne.jp/1150977803
0257nobodyさん
2006/10/27(金) 22:47:29ID:???一般的っていう話なら、
is_fileの方はOSとファイルシステムに依存し過ぎるのでまずやらない。
やったとしても独自にインデックス化してディレクトリ掘ってやるとか。
そんな面倒な事するぐらいならマトモなDBに放り込んで安心お手軽に済ますのが一般的。
もちろんシングルファイルで済むならそっちで。
0258nobodyさん
2006/10/27(金) 23:00:20ID:KqclDjNY>>256
ありがとうございます。とても参考になりました。
ファイルが1万程度で特定のファイルを探して開くというだけの作業だったら
システム任せにして作業するのが効率良さそうという印象でした。
プログラムもシンプル、メモリ消費も少ない、システムに任せた検索で高速と
考えてファイルを沢山という状態にします。
心配な場合は手前でディレクトリを更に分けておくのが良さそうでした。
0259nobodyさん
2006/10/27(金) 23:09:47ID:KqclDjNYそういえば、というくらいにMySQLなんかの話を忘れていました。
使ったことが無かったので見落としていましたが、調べてみます。ありがとうございます。
0260nobodyさん
2006/10/27(金) 23:30:59ID:KHfcRMGSmysqlみたいにライセンスも必要ないし、
postglreなら万が一組み込んでもライセンス違反にはならないのに。
0261nobodyさん
2006/10/27(金) 23:57:48ID:???実際、数が極端に多すぎなければ検索速度はis_file()の方が平均して速いよ。
一応、ハッシュを使った割とまともな検索アルゴリズムを使ってくれるから。
よほど古くさいOSでなきゃ2〜3万くらいならまだis_file()の方が余裕で速いと思う…
でも非常にシステム依存性が高くて何がトラブルの元になるか分からないんで、
コントロールしやすい仕組みで作るのがやっぱり一般的かな。
0263nobodyさん
2006/10/28(土) 00:42:40ID:Y7NdvAT2グローバル変数を使うこともセキュリティ的にやめたほうが無難でしょうか?
0264nobodyさん
2006/10/28(土) 00:53:50ID:???あなたは、なぜ register_globals=on に問題があるのか学ぶべき
詳しくは検索すると山ほど出るからそっちに任せる
0265nobodyさん
2006/10/28(土) 00:58:05ID:???セキュリティは全然関係なく、設計と保守性の問題であまり推奨されない。
適材適所を踏まえて、グローバル変数が必要なシーンで使うのは全く問題ない。
0266nobodyさん
2006/10/28(土) 01:02:09ID:???0267263
2006/10/28(土) 01:11:22ID:Y7NdvAT2ここのページをみてきたんですが、>>263さんと以下のページどっちがただしいのでしょうか?
ttp://www.sound-uz.jp/php/tips/security.html
0268nobodyさん
2006/10/28(土) 01:11:58ID:qYURnN+A$a = array('a','b','c');
$b = array('0','1','2');
↓
array('a','b','c','0','1','2');
こういった動作をさせたいのですが…
0269265
2006/10/28(土) 01:27:00ID:???言い方が悪かったんなら謝る。
俺が質問の意味を勘違いしたのかもしれないが、
「グローバル変数を使うこと"も"」ってのは
「register_globals設定の話とは別に」って意味じゃないのか?
register_globalsがONなら当然セキュリティは大問題だが、
register_globalsがOFFなら特に問題ないし、
その上でグローバル変数を使うことに問題など無いよ。
そのページの話は「register_globalsをONにしてグローバル変数を使う場合」だろ。
そんなもん、グローバル変数を使ってようと使っていなかろうと、
register_globalsがONになってる時点で全然ダメだ。
さらにグローバル変数を使っていたらより問題が悪化するというだけのことだ。
0270nobodyさん
2006/10/28(土) 01:30:31ID:???すいません、自分の書き方が悪かったと思います。
>>269さんの解釈のとおりです。
わかりやすいです。
参考にさせていただきまして、プログラムを組んでみます。
ありがとうございました。
0271nobodyさん
2006/10/28(土) 01:31:10ID:???$a = array('a','b','c');
$b = array('0','1','2');
array_splice($a, -1, 0, $b);
var_dump($a);
結果:
array(6) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[2]=>
string(1) "0"
[3]=>
string(1) "1"
[4]=>
string(1) "2"
[5]=>
string(1) "c"
}
0272nobodyさん
2006/10/28(土) 01:32:53ID:???おれもわからなかったから調べてみたらこんな関数があったよ
$a = array(1,2,3);
$b = array(4,5,6);
$a = array_merge($a, $b);
0273271
2006/10/28(土) 01:33:04ID:???array_splice($a, count($a), 0, $b);
が正解。
0275nobodyさん
2006/10/28(土) 01:51:34ID:???array_mergeだと、順番が混合してしまうんですよね
>>273
置き換えをする関数で連結するとは思いつきませんでした
ありがとうございました
0276nobodyさん
2006/10/28(土) 01:51:38ID:???$a = array(1,2,3);
$b = array(4,5,6);
$c = $a[0].$a[1].$a[2].$b[0].$b[1].$b[2];
echo $c;
0278nobodyさん
2006/10/28(土) 02:08:30ID:???ひとそれぞれなのか・・
0280275
2006/10/28(土) 02:42:38ID:???連想配列で、同じ文字列のキーがあった場合には上書きされてしまうので、
キーが数字の時も混合されてしまうと思いこんでいました。
0281nobodyさん
2006/10/28(土) 02:57:34ID:???>>275はとりあえずこれでも読んどけ
ttp://hiro.asks.jp/5297.html
0282nobodyさん
2006/10/28(土) 03:36:18ID:VA57KDTi0283nobodyさん
2006/10/28(土) 03:43:25ID:???0284nobodyさん
2006/10/28(土) 03:57:36ID:???かつてここの本スレと呼ばれた「PHP質問スレ」が別にあった。
だが、そこにも結局下らない質問しか投下されなかったために
スレは消滅してしまった。
下らなくない質問があるというなら試しにここに投下してみるといいよ。
ニーズがあることが確認できればきっと本スレ復活もあるさ。
0285nobodyさん
2006/10/28(土) 04:12:50ID:7i10sVSQOS:CentOS4.4
Apache2.2.3+php5.1.6(どちらもソースから)
症状:php.iniを置くとphpが実行されない
Configuration file pathに指定したディレクトリにphp.iniを置いてapacheをリスタートし、phpinfoを表示させてみると何も表示されません
(ソースを見ると
<?
phpinfo();
?>
このように表示されてしまいます)
php.iniを置かない状態だと問題なく表示されるのですが、どうしたらよいでしょうか?
php.iniは、php.ini-recommendedを cp -p でコピーしただけなので設定に問題があるとは思えないのですが・・。
よろしくお願いします。
0286nobodyさん
2006/10/28(土) 04:25:32ID:???echo "Hello World";
がくだらなくなくても・・・
おれにはくだらないんだよ。
そんなもんじゃねえのか。ここで質問したっていいじゃん。
質問者がそんな回答者を上から見下ろすような感じじゃ嫌な感じ。
0287nobodyさん
2006/10/28(土) 04:27:57ID:???2.LoadModuleで呼び出すdllパスは正しいのか、そのdllであっているのか。
それを確認してからまたレスしれ
0288285
2006/10/28(土) 04:36:47ID:7i10sVSQレスありがとうございます(私宛ですよね・・?)
LoadModuleは設定してあります。
php.iniを置かなければ正常に動作しますので・・。
httpd.confでの設定↓
LoadModule php5_module modules/libphp5.so
(lipphp5.soも存在します)
引き続きよろしくお願いします。
0289nobodyさん
2006/10/28(土) 04:50:26ID:???見下ろすのはこっち
くだらない質問でもど偉そうに聞いていいスレ
http://pc8.2ch.net/test/read.cgi/php/1158647441/
どっちかっつーと「対等な立場で質問」だと思う >下らなくない
0290nobodyさん
2006/10/28(土) 04:50:34ID:???>php.iniを置かなければ正常に動作しますので・・。
php.iniをいじってない?エラーになってんじゃ?
もし修正しているなら修正していないphp.ini-distかなんかで確認
正常なら修正したとこ見る
0293285
2006/10/28(土) 04:59:54ID:7i10sVSQphp.iniのパーミッションは644(rw-r--r--)になっています。
>>290
php.iniはいじってないのです・・。
>>292
補足ありがとうございます。
0295nobodyさん
2006/10/28(土) 05:03:17ID:???アンスコして再インスコすると解決することがある。
0296nobodyさん
2006/10/28(土) 05:08:28ID:???0298nobodyさん
2006/10/28(土) 05:13:41ID:???ソースを
<?php
phpinfo();
?>
に書き直せ。
recommended設定ならshort_open_tagはOFFになってるはずだから
<? 〜 ?>ではPHPコードとして解釈されない。
0299285
2006/10/28(土) 05:23:51ID:???おおおおおおありがとうございます!
書き直したら実行されました!勉強になりました・・。
>>296
はい、あっていました。
>>297
試していませんが、distのほうはshort_open_tagがONなので動くと思います・・。最初に試せばよかったですね・・。
>レスをくれた皆様へ
夜遅くに(もう朝ですが)ありがとうございました。
おかげで無事解決しました!
0301nobodyさん
2006/10/28(土) 05:24:44ID:???0302nobodyさん
2006/10/28(土) 05:30:08ID:???ちゃんと動かないソースも晒したからこそ比較的早く解決したんだと思う。
0304nobodyさん
2006/10/28(土) 07:21:08ID:???PHP質問スレ・・懐かしいな
1000まで埋まり次スレどうしようか?って時に、
スレ立てを躊躇して結局立てれなかったんだよなぁ・・。
0305nobodyさん
2006/10/28(土) 08:02:17ID:???お互いのスレを煽りあう(?)みたいな雰囲気で。
0306nobodyさん
2006/10/28(土) 09:59:36ID:???いままででてきた質問に全部答えられないと認めてくれませんか?
0307nobodyさん
2006/10/28(土) 10:02:24ID:???0308nobodyさん
2006/10/28(土) 10:10:32ID:???最近は調べて回答するようにしたんです。そしたら勉強になってしまって。
回答オンリーの方はさぞご経験をつまれていると思います。
自分もそんな先輩方近づき、一人の回答者になりたいです。
それが夢でございます。
0309nobodyさん
2006/10/28(土) 10:11:51ID:???0310nobodyさん
2006/10/28(土) 10:13:38ID:???0311nobodyさん
2006/10/28(土) 13:26:50ID:???ありがとう。
0312nobodyさん
2006/10/28(土) 15:12:16ID:???まさかおもしろいとか思っt(ry
0314nobodyさん
2006/10/28(土) 16:00:44ID:???0315nobodyさん
2006/10/28(土) 16:04:57ID:???yahoo だと リクエストパラメータがすべて/で区切られていて
実際はフォルダ階層ではないだろうけど、フォルダ階層のように表示されて分かりやすいし。
Ethna使っているんだけど、そういうのは無理らしいんだよね。
かといって、たとえば 関東、東京都、渋谷区と検索した場合に、リクエストパラメータが
region=01&prefecture=02&city=03 ってのは見た目が悪すぎるし。
どうすればいいの?
0316315
2006/10/28(土) 16:14:39ID:???移動履歴があるでしょ。
http://list4.auctions.yahoo.co.jp/jp/2084008049-category.html
あれって、hiddenタグで保持していないし、
本、雑誌、 雑誌 ファッション という文字と、URLの関連付けは
どこで設定しているのかな。
誰か教えてください。
0317nobodyさん
2006/10/28(土) 16:30:10ID:???0319nobodyさん
2006/10/28(土) 16:36:04ID:???(;^ω^)また暴れ出しそうなタイプのバカですか?
0321315
2006/10/28(土) 16:40:18ID:???てか俺より頭悪そうだから、もういいや(笑
0322nobodyさん
2006/10/28(土) 16:50:04ID:???0323nobodyさん
2006/10/28(土) 16:50:58ID:???0324nobodyさん
2006/10/28(土) 16:55:58ID:???0325nobodyさん
2006/10/28(土) 17:12:58ID:???自分が聞きたい事を素直に聞けないでどうしても妙に遠回しな表現にしてしまう。
多分今頃自己嫌悪で顔真っ赤。ベッドに飛び込んでじたばたしてるに違いない。
というかこんな事も分からない奴がショッピングサイトとか流石にネタだろ(´・ω・`)
0326nobodyさん
2006/10/28(土) 17:29:39ID:???0327nobodyさん
2006/10/28(土) 17:45:06ID:???0328nobodyさん
2006/10/28(土) 18:25:12ID:???http://www.answers.com/のページに飛ばされてしまいます(送信ボタンを押したときなどに。ただし書き込みは正常に行われてる様子)
他のp-bbsなどでもなるので、自分のPCのせいかともおもいましたが、他サイトさんの掲示板スクリプトで試すと何の問題もありませんでした。
これって自分のPCがわるいのでしょうか?
レッツPHPさんのスクリプトを他に使ってる方でこんな症状がでるかたいますか?
WinXPでFirefox使用
なお、IEで同様にローカルで書き込みしようとすると「ページが表示できません」とでます
0329nobodyさん
2006/10/28(土) 19:16:57ID:???0330nobodyさん
2006/10/28(土) 19:20:16ID:???0331250
2006/10/28(土) 19:29:57ID:Owjys+/6ありがとうございます。あってもなくてもいいということですね。
でもこれには一体どんな意味や機能があるんでしょう?
0332nobodyさん
2006/10/28(土) 19:31:35ID:???POSTで渡してセッション入れとけばいい。
俺もWEB始めて1ヶ月くらいの頃はGETとかhiddenで持ち回してた。
最初の頃のソース一応持ってるけど、それ見ると「あぁ、この頃は若かった」って思うよね。
0333中三
2006/10/28(土) 19:37:53ID:???<?php
$deep_impact = $_HORSE['WINNER'];
$fp = fopen('おまえの頭の中身.txt',w);
fputs($fp,$deep_impact);
fclose($fp);
?>
0334nobodyさん
2006/10/28(土) 19:52:11ID:doQnvF3Z1.フレームページ index.php
2.メインページ main.php
3.トップページ top.php
の構成でメインページ(main.php)で表示されている
外部HTMLページをトップページ(top.php)にあるボタンを押す事で
メインページ(main.php)のファイルやURL等をを取り込んだり
する事は出来るでしょうか?
0336nobodyさん
2006/10/28(土) 20:15:48ID:doQnvF3Z善処いたします。
0337nobodyさん
2006/10/28(土) 21:14:26ID:???で、メインページに表示しているHTMLのURLとコンテンツをPHPの変数に取得したい
ということか?
URLが分かれば、file_get_contentsとかcurlでとれるよ
0338nobodyさん
2006/10/28(土) 21:18:39ID:doQnvF3Zそういう事をしたかったのです!!
0339nobodyさん
2006/10/28(土) 21:18:45ID:RGmX0RKoPEARモジュールをインストールしてtgzをLhaplusで解凍
するとxmlになるんですが一般の解凍ソフトは無理なんでしょうか..?
0340nobodyさん
2006/10/28(土) 21:34:50ID:???0341nobodyさん
2006/10/28(土) 21:36:39ID:xtWbOPh4スレ違いならごめんなさい。
Stringbuffer ques1 = new Stringbuffer(100);
Stringbuffer ques2 = new Stringbuffer(100);
ques1.append("hoge");
ques2.append("choko");
for(i=1;i<3;i++)
System.out.println(ques + "i");
とやれば、hogeとhageガ表示されると思いましたが、このままだと
ただの文字列なので、ques1 ques2と表示されるだけです。
なにか、このような方法でques1と2の内容を表示する方法ないですか?
0343334
2006/10/28(土) 21:44:11ID:doQnvF3Z>>337
さんの
>で、メインページに表示しているHTMLのURLとコンテンツをPHPの変数に取得したい
>ということか?
>URLが分かれば、file_get_contentsとかcurlでとれるよ
のところで
URLが分からない場合は何か良い方法はないですか^^;
0344nobodyさん
2006/10/28(土) 21:46:40ID:???0345nobodyさん
2006/10/28(土) 21:48:20ID:RGmX0RKoxmlだけなんですよね。。なんでだろう
他の解凍ソフトでも試してみます。。
0346nobodyさん
2006/10/28(土) 23:17:36ID:WdiFJULn$test_a = array('あか', 'きいろ', 'みどり', 'きいろ', 'あお');
for($loop = 0;$loop < count($name_a);$loop++) {
echo $name_a[$loop].'は'.$test_a[$loop].'<br>';
}
この場合5通り出力されますがこれを
$name_aの中で重複しているものに関しては1つだけを出力し
その場合の対となる$test_aからはランダムに選択したいのですが
どのようにすれば良いでしょうか?
出力結果の例1
りんごはあか
ばななはきいろ
すいかはきいろ
出力結果の例2
りんごはあお
ばななはきいろ
すいかはみどり
アドバイス頂けましたら幸いです。
0347nobodyさん
2006/10/28(土) 23:46:56ID:???array_rand() 配列から一つ以上の要素をランダムに取得する
マニュアルのV. 配列関数(array)嫁
0348334
2006/10/28(土) 23:48:12ID:doQnvF3Zえっと、
1.トップのハイパーリンクからリンクしてメインに表示させて
2.メイン内で外部HTMLから更にハイパーリンク
3.ハイパーリンク行えば表示された2回目の外部HTMLの情報を
とりこみたいのですけど^^;
メインページは
<html>
<title>メインページ</title>
<frameset rows="64,*,64">
<frame name="top" scrolling="no" noresize target="contents" src="とっぷ.php">
<frameset cols="150,*">
<frame name="contents" target="main" src="メイン.php">
</frameset>
<frame name="bottom" scrolling="no" noresize target="contents" src="ind4.php">
<noframes>
<body>
<p>このページにはフレームが使用されていますが、お使いのブラウザではサポートされていません。</p>
</body>
</noframes>
</frameset>
</html>
みたいな感じです。
うーむ、また分かりにくいかもしれないですけど><
よろしこです^^;
0349nobodyさん
2006/10/28(土) 23:51:11ID:???$name_a = array('りんご', 'ばなな', 'すいか', 'すいか', 'りんご');
$test_a = array('あか', 'きいろ', 'みどり', 'きいろ', 'あお');
foreach (array_count_values($name_a) as $name => $count) {
$color = $count == 1 ? $test_a[array_search($name, $name_a)] : $test_a[array_rand($test_a)];
echo $name . 'は' . $color . '<br>';
}
0350nobodyさん
2006/10/28(土) 23:52:45ID:WdiFJULnそれは理解しているのですが
組み合わせる事が出来なく困っています。
どうかヒントだけでもお願いいたします
0351nobodyさん
2006/10/29(日) 00:03:57ID:???全然意味がわからん。そもそも最初の、フレーム、トップ、メインてわけわからん。
せめてフレーム(トップ)、メニュー、コンテンツ(メイン)とかにしてくれ。
■ このスレッドは過去ログ倉庫に格納されています