トップページ⇒php
1001コメント331KB

【PHP】下らねぇ質問はここに書き込みやがれ 32

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/11/06(月) 22:07:16ID:???
PHPに関するくだらねぇ質問用スレです。ここならお前の下らない質問に回答があるかも知れません。

まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

【前スレ】
 【PHP】下らねぇ質問はここに書き込みやがれ 31
 http://pc8.2ch.net/test/read.cgi/php/1161733546/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しない)
・ サーバーのOS、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
008255(74)2006/11/07(火) 19:59:31ID:xXnFQ4+N
できました!たくさんの参考になるご意見をいただきまして
本当にありがとうございました。
0083nobodyさん2006/11/07(火) 20:14:04ID:???
PHPでmvdirっぽい関数はありますか?
探した限りマニュアルには見当たらなかったので。
よろしくお願いします。
0084nobodyさん2006/11/07(火) 20:38:22ID:???
Apacheが2.0から2.2になったら、
<?php
print($hoge);
?>
というスクリプトに
hoge.php?hoge=foobar
とリクエストしても「foobar」が返ってこなくなってしまいました。

print($_GET['hoge']);
に直せば動くことは分かったのですが、$hogeの書式で書いた
スクリプトが多く、POSTなのかGETなのかを調べて書き直すのに
時間がかかりそうです。

php側の設定を変えて従来の方法で変数を参照させるようにする
方法はないでしょうか?
0085nobodyさん2006/11/07(火) 20:45:27ID:???
php.ini の
register_globals = Off
を
register_globals = On
にすればいいということで、自己解決しました。
0086nobodyさん2006/11/07(火) 20:46:48ID:???
それはApacheのバージョンとは関係ないお
大昔にPHP側で変更されたんだお
0087nobodyさん2006/11/07(火) 20:57:13ID:???
ありがとうございました。

どうやらphp4系でバイナリだけバージョンアップを続けてきたのが、
php5に入れ替わった拍子に設定ファイルまで飛んでしまったようです。

これからphpの仕様にあわせていくように作業します。。
0088nobodyさん2006/11/07(火) 21:32:03ID:???
>>82
どれでできたの?
0089nobodyさん2006/11/07(火) 21:35:24ID:???
>>86
しかしregister_globalsって
最初に作ったときに気づかなかったんかね?
0090822006/11/07(火) 21:54:07ID:xXnFQ4+N
>>88
76と80のどちらでもできました。ありがたいことです。
0091nobodyさん2006/11/07(火) 22:49:06ID:???
>>89
最初のPHPは「HTMLをちょっとだけ拡張した、簡単・お手軽・お手抜き言語」からスタートしてるから。
そもそもローカル関数なにそれ?くらいのレベルで。
<input>でname=hogeって書いてるんだから$hogeでアクセスできて当然!っていう。

それがいつの間にやら人気が出ちゃって、変に規模の大きなまともなプログラムを書くやつが増えたから
便利な機能も消さなきゃいけなくなっちゃったんだよ。
0092nobodyさん2006/11/07(火) 22:51:40ID:???
ローカル関数じゃない、ローカル変数。
0093nobodyさん2006/11/07(火) 23:50:04ID:???
最初は
PHP = パーソナル・ホームページ
だったしな
0094nobodyさん2006/11/08(水) 00:02:40ID:???
PHP6、PHP5、PHP4、PHP3、PHP/FI 2.0、Personal Home Page Construction Kit + FI (Form Interpreter)、Personal Home Page Tools

センセイ、PHP4以降しか知りません
0095nobodyさん2006/11/08(水) 00:53:08ID:EFItiHAr
>>43
そのファイルの1行目で出力されています。
session_start();1を一行目にいれても同じように
1行目で出力されていますとでるのですが
includeを消してもエラーがでてしまいます。
0096nobodyさん2006/11/08(水) 01:33:31ID:???
>>95
ソースファイルってひょっとしてUTF-8で保存されてる?
0097nobodyさん2006/11/08(水) 02:04:51ID:EFItiHAr
>>96
UTF-8で保存しています。
それじゃだめなのでしょうか?
0098nobodyさん2006/11/08(水) 02:22:13ID:???
>>97
>>24ですでに指摘されてるけどBOMだろう。
テキストエディタにBOMをつけずに保存する設定が無いか確認。
0099nobodyさん2006/11/08(水) 05:57:27ID:j+v5xEVZ
ウインドウズXPで自動返信機能のあるSMTPの立て方をおしえてください。
0100nobodyさん2006/11/08(水) 05:58:07ID:???
>>99
スレ違いもいいとこw
0101992006/11/08(水) 06:27:03ID:j+v5xEVZ
すいません、取り消します。
Webサーバ上でPHPを動かします。
linuxとwinとで違う動作、動かない動作を教えてください。

一ヶ月調べてわかったことはシムリンクがlinuxしか使えないことです。
0102nobodyさん2006/11/08(水) 07:46:00ID:???
>>101
ごく一般的な手法でのWeb構築の観点から言えば、ほとんどの場合両方の環境で動く。
symlinkのようにファイルシステムに関係するものや、片方のOSでしかAPIが提供されていないものも少数ながらあるけど、どちらかでしか動かないものはマニュアルに明記されているから1つ1つ確認しろ。
0103nobodyさん2006/11/08(水) 08:04:42ID:???
ひとつひとつなんて面倒なこといやですよ。
どこかに一覧表ありませんか?
0104nobodyさん2006/11/08(水) 09:50:21ID:???
一ヶ月もかけて、何をどう調べたの?
効率悪すぎ
0105nobodyさん2006/11/08(水) 09:51:38ID:???
面倒もくそも無いだろ
一ヶ月もかけたら、かなり頭の悪い奴でも一覧ピョウが出来てるはずだよ
0106nobodyさん2006/11/08(水) 09:55:23ID:???
>>103
いやですよって。。。
普通にlinuxとwinで動かしてみれば?これもいやですよって?
0107nobodyさん2006/11/08(水) 10:04:47ID:???
>>103
自分の書くコードに含まれる関数は全て、一度はマニュアルに目を通していて当然。
面倒とかそれ以前の問題だな。
たとえwin/linuxの違い云々が記憶から薄れていても、環境に依存するかどうかくらいはOSの仕組みが大雑把にでもわかっていればすぐに気付くはずなので、必要に応じてマニュアルを読み返せばいいだけ。
0108nobodyさん2006/11/08(水) 10:36:53ID:???
>>106-107
ID出てないんだから放置しろよww釣りだってwww
0109nobodyさん2006/11/08(水) 11:19:13ID:???
>>99
こいつって前スレで空メールシステムの質問してたやつじゃねえの?w
0110nobodyさん2006/11/08(水) 13:20:15ID:???
今のPHP5.x系って4で動作確認して作ったスクリプトも問題なく動くと考えておk?
0111nobodyさん2006/11/08(水) 13:22:37ID:???
classでvarとか使ってるとNOTICEのエラー吐きまくると思うがな
動作に影響を及ぼす事はあんまないんじゃないかな
01121102006/11/08(水) 13:29:12ID:???
そうすか。ありがとう。
そろそろ仕事も5ベースにやろうかと思います。
0113nobodyさん2006/11/08(水) 13:29:49ID:???
>>110
クラス使ってる場合は色々不具合出ると思う。
それ以外は大体そのまま動くかな。
0114nobodyさん2006/11/08(水) 14:17:54ID:???
ヒアドキュメントのIDの名づけ方についてのポリシーを設定してるひといますか?

その場で適当に決めると後でわかりにくくなるのである程度決めたほうが良い感じはするけど
なかなかルール化が難しい。参考までに「俺はこうしてるぞ」ってのがあれば教えてください。
0115nobodyさん2006/11/08(水) 14:24:26ID:???
↓使わない派の意見は聞いてねーよ禿
0116nobodyさん2006/11/08(水) 14:26:59ID:???
PHPでヒアドキュメントを使うメリットって何?
0117nobodyさん2006/11/08(水) 14:50:21ID:???
"などをエスケープしなくていい。
HTMLファイルからコピペするときなんか\"やら\nを挿入するのめんどい。
0118nobodyさん2006/11/08(水) 15:14:23ID:???
PHPタグとじりゃいいだけじゃないの
0119nobodyさん2006/11/08(水) 15:20:51ID:???
>>114
ポリシーってほどのポリシーはないなぁ。
HTML、FORM、TEXTのどれかを種類別に選択してる程度。
別に全部一緒でも構わないんじゃないかって思うけど。

>>116-117
単にHTMLを書きたいだけなら?>〜<?phpでHTMLモードに入っちゃうけど
それを変数に入れたい場合はヒアドキュメント使うことが多いかな。
やっぱ " をエスケープとかって読みにくくなるし後で修正しづらいしで、
HTMLモードかヒアドキュメントのどっちか以外ではHTMLは書かない。

まぁ大抵はHTMLモードだけでこと足りてるけど。
コードの途中にHTML書くこと自体が滅多にないし。
0120nobodyさん2006/11/08(水) 15:22:52ID:???
>>118

<?xml version="1.0" encoding="Shift_JIS"?>
とかの類も、あるんよ。
0121nobodyさん2006/11/08(水) 15:24:48ID:???
ショートタグ無効にしたらいいだけじゃないの
0122nobodyさん2006/11/08(水) 15:25:04ID:???
>>120
XML使っててshort_open_tagをONにするやつはバカだと思いますが。
0123nobodyさん2006/11/08(水) 15:51:17ID:???
入力フォーム(textareaとsubmitのみ)→表示ページ(<?=$form_date?>を記述)

というプログラムがあるのですが、文字のみを入力すると正常に表示されますが、
タグを入れるとおかしくなります。
例:<a href="index.html">別ページ</a> を入力フォームに入れて送信すると
  http://localhost/";index.html/" というURLになる

storngなどの装飾タグでは問題ありませんでした。何が原因でしょうか?
0124nobodyさん2006/11/08(水) 16:09:57ID:???
>>123
端折りすぎて意味不明
0125nobodyさん2006/11/08(水) 16:12:33ID:???
>>123
なんかよく分からんが表示ページのとこを
<?=$form_date?>から<?=htmlspecialchars($form_date)?>
にすればいいだけの話なんじゃないの?多分。
01261252006/11/08(水) 16:17:20ID:???
あるいは、タグをちゃんと有効にして表示はさせたくて、
でもリンクタグを書くと "index.html" と左右に " がくっついたURLになっちゃう、
って話なら、<?=stripslashes($form_date)?> かなと思う。
クロスサイトスクリプティング問題バリバリだから表のサイトで公開するなよ、と思うが。
0127nobodyさん2006/11/08(水) 16:40:35ID:X5fG3I/H
すみません、教えてください。

今、「超極める!PHP」という本を読んでいるのですが、
098ページのところに

session.cache_limiter設定を利用するには
セッション管理を開始しなければなりません。
セッションが必要な場合でもキャッシュ制御を
行いたい場合は多くあります。
このような場合はheader関数を用いてキャッシュ制御を行います。

と、書いてあるのですが、この「セッションが必要な場合」というのは
「セッションが必要ない場合」の打ち間違いでしょうか??
01281232006/11/08(水) 16:41:58ID:???
>>126
ありがとうございます。この方法で思い通りに出来ました。
0129nobodyさん2006/11/08(水) 16:46:10ID:???
>>128
そもそもマジッククオートなんてOFFにしてしまえよ、って思うが。
0130nobodyさん2006/11/08(水) 16:51:46ID:???
>>127
そんな気はするね
0131nobodyさん2006/11/08(水) 16:55:53ID:???
以降の文脈次第だな
そこだけ切り出されてもどちらとも言える
0132nobodyさん2006/11/08(水) 17:04:29ID:???
> セッション管理を開始しなければなりません。
> セッションが必要な場合「でも」キャッシュ制御を・・・
ってのは論理的におかしいわな。

おそらく筆者は、
・キャッシュ制御は基本的にsession.cache_limiterでやる
・でもセッションの必要がないならheader()でやる
っていう流れで説明したいんだろうな。
0133nobodyさん2006/11/08(水) 17:58:29ID:???
例えば、参加型のレビューサイトを作るとします。
PHP作れば問題ないと思いますか?
言語が色々ありすぎて、どれから学べば良いのかわからんのです。
0134nobodyさん2006/11/08(水) 18:06:17ID:???
言語なんて好みで選べばいいじゃん。
0135nobodyさん2006/11/08(水) 18:06:18ID:???
>>133
どれも大して変わらないけどSQL分かってた方が良い。
0136nobodyさん2006/11/08(水) 18:08:29ID:???
>>135
どもです。
そちらも調べてみます。
0137nobodyさん2006/11/08(水) 18:08:57ID:???
まあとりあえずPHPでいいんじゃね?
0138nobodyさん2006/11/08(水) 21:00:25ID:QUV620Zg
アンケートスクリプトを作ってます。
一ヶ月間、1件=5項目としてデータとして保存し、
管理者のみ管理画面から回答をみることができる仕様です。
トータル件数10000件集まると仮定したら
ファイルとMysqlどちらを使用するのが妥当ですか?
0139nobodyさん2006/11/08(水) 21:05:08ID:???
どっちでもいいよそれくらいだったら
早く作れる方選べよ
0140nobodyさん2006/11/08(水) 21:34:37ID:???
>>138
アンケートの内容にもよるけど、分析に使えるデータを含むなら、
MySQLがいいと思う。
感想だけとかなら、どっちでもいいけど。
0141nobodyさん2006/11/08(水) 22:03:58ID:???
>>138
ちょっと質問がよくわからないんだが、

・一ヶ月に一度、5問で構成されるアンケートを一つ作成する
・アンケートに回答する人は1アンケートにつき10000人とする

ってことでOK?
あとそのアンケートに回答する人ってのはどういう人間だ?
自分で管理してる会員か?それともたまたまアクセスしてきたユーザか?
0142nobodyさん2006/11/08(水) 22:07:43ID:???
1万件くらいなら別にどっちでもいいね
DB使う利点が分からないならあえて使う必要もないかと
0143nobodyさん2006/11/08(水) 22:10:30ID:???
何も考えずDB使え
01441382006/11/08(水) 22:19:37ID:???
回答ありがとうございます。
Mysqlを使いたいと思っておりますが10万件を超えると運用に耐え難いと聞きました。
アンケート件数がたくさんあるので10万は軽く超えてしまいます。
この場合、アンケート枚にデータファイルを別々に作成、さらに時間毎にデータをわけて記録
することでMysqlでデータをすべて記録するよりも早いかと考えております。
この考えは間違っておりますでしょうか?
0145nobodyさん2006/11/08(水) 22:26:00ID:???
PHP4とPHP5はどちらが処理が早いですか?
0146nobodyさん2006/11/08(水) 22:26:19ID:???
PHP5
0147nobodyさん2006/11/08(水) 22:26:46ID:???
>>146
なんでですか?
0148nobodyさん2006/11/08(水) 22:28:28ID:???
PHP4だろ。>>146は低脳クズ
0149nobodyさん2006/11/08(水) 22:29:56ID:???
>>144
別にいいんじゃない?とりあえず作ってみれば?
0150nobodyさん2006/11/08(水) 22:33:29ID:???
>>148
ベンチでも取ったのか?
同じ処理なら5のほうが早い。
01511452006/11/08(水) 22:33:41ID:???
>>146おまえ回答者ぶってんじゃねーよw
01521452006/11/08(水) 22:34:47ID:???
ベンチとってからいえやクズ
0153nobodyさん2006/11/08(水) 22:38:59ID:???
ここの回答者はバカばっかりだな
0154nobodyさん2006/11/08(水) 22:45:31ID:???
//------------ここまで自演------------
015512006/11/08(水) 22:59:23ID:???
                             |
                             |
      ∩___∩             |
      | ノ  _,  ,_ ヽ        ((  | プラプラ
     /  ●   ● |         (=)
     |    ( _●_)  ミ _ (⌒)   J  ))
    彡、   |∪|  ノ
⊂⌒ヽ /    ヽノ  ヽ /⌒つ
  \ ヽ  /         ヽ /
   \_,,ノ      |、_ノ
0156nobodyさん2006/11/08(水) 23:27:24ID:???
ワロチww
0157nobodyさん2006/11/08(水) 23:32:27ID:???
つまらん
こっちでやれ
http://pc8.2ch.net/test/read.cgi/php/1158647441/l50
0158nobodyさん2006/11/08(水) 23:37:37ID:???
PHP5がはやいってやつはバカ
0159nobodyさん2006/11/08(水) 23:54:09ID:???
まぁ、どっちも実用的な動作で動いてくれるからどっちでもいいじゃん

開発者の習熟度とか好みとか必要な機能で選べばヨロシ
0160nobodyさん2006/11/08(水) 23:54:42ID:???
動作とかww速度の間違いwww

もう寝るwっうぇw
0161nobodyさん2006/11/09(木) 00:06:04ID:???
凄い下質かと思いますが、前から気になっていたのでお願いします。

1:PHPの書き出しを、 <?php ?> にするのと <? ?>にするのとあまり変わりないのですが、
 <phpとした方が良いのでしょうか?それとも関係ないのでしょうか?
2:printとechoとともに表示されますが、どちらで書いた方がいいのでしょうか?
 自分の場合は混雑しています。
3:requireとrewuire_onceって特に違いありませんよね?

リファレンスも見たのですが、実用を考えるとどうした方が良いのかな?
っと思い、質問した次第です。
0162nobodyさん2006/11/09(木) 00:19:08ID:???
>>144
10万件超えると耐え難いってのは検索速度が遅くなるから、って話。
で、その理屈で言えばファイルの場合は1万件以下ですでに遅くて耐え難いです。
ファイルで分割ができるならDBでもテーブル分けちゃえば解決するよ。
0163nobodyさん2006/11/09(木) 00:24:43ID:???
>>161
1.機能としては何も変わらないです。
 問題は<?hoge ?>ってのを使う仕組みはPHP以外にもあるってことで(XMLなど)
 そういう別の仕組みを併用する場合に<? ?>では誤動作して困るので<?php ?>が推奨されてます。
 その辺をちゃんと踏まえて、問題ないのが分かってるんであれば<? ?>も便利だと思います。
2.一緒です。書き慣れた方を使えばいいでしょう。
 それが両方あるのは、他の言語で慣れた方を使えるようにという配慮です。
3.onceが付くと多重読み込みを防止できます。何度も繰り返して読み込みたい場合以外は
 誤動作防止・処理速度高速化のためにもonceの方を使うのが推奨されます。
 例えば a.php と b.php でそれぞれ c.inc を読み込むようにしていた場合に、
 a.php で b.php を読み込むような処理にしても c.inc が2度読み込まれるのを防げます。
0164nobodyさん2006/11/09(木) 00:36:15ID:???
shareで「FootBall Manager 2006」を落として、いざやろうとしてもできません。
デーモンでは無理みたいです。
CD−Rに焼かないと駄目みたいなのですが、普通に焼くだけでは動きませんでした。

どのように焼けば起動しますか?
ど素人ですが、ご教授宜しくお願いします。
0165nobodyさん2006/11/09(木) 00:39:00ID:???
>>161
2については下記を読めとマニュアルにあるわけだが。
http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40
0166nobodyさん2006/11/09(木) 00:40:28ID:???
>>164
買え。
0167nobodyさん2006/11/09(木) 00:53:01ID:???
>>164
スレ違いに気付かないほど頭悪い君には無理。諦めれ
01681612006/11/09(木) 01:18:59ID:???
>>163
ありがとうございます。非常に納得しました。
とりあえず、1については<?php?>で書くようにします。(少なくとも1行目は)
また、3についても意味が分かりました。

きちんとご説明いただきありがとうございました。
0169nobodyさん2006/11/09(木) 01:23:09ID:???
>>145
http://itpro.nikkeibp.co.jp/article/COLUMN/20051128/225271/
0170nobodyさん2006/11/09(木) 03:52:43ID:???
>>164
通報しますた
0171nobodyさん2006/11/09(木) 04:01:14ID:???
>>169
ttp://www.thinkit.co.jp/cert/compare/2/4/2.htm
0172nobodyさん2006/11/09(木) 04:42:44ID:???
新しいの使えばいいじゃない 人間だもの
0173nobodyさん2006/11/09(木) 05:08:44ID:???
PHP5.1.xはかなり速いみたいだよね。俺も乗り換えるかな〜
0174nobodyさん2006/11/09(木) 05:56:01ID:???
マシンの性能が伸びてる昨今、
体感的に爆発的に変わるものじゃないでしょ。
PHPと他の言語を比べてもそれは言える話だけどね。
0175nobodyさん2006/11/09(木) 06:06:59ID:???
いやー、規模でかくなって取得・表示するデータ件数が増えたりすると
変数処理の速度とループの速度の性能差は体感レベルで分かるくらい差が出るよ。
マシン性能のおかげで違いなんて出ないとか言ってるのはちゃんとベンチ取ってないか単なる詭弁だとオモウ
0176nobodyさん2006/11/09(木) 06:18:48ID:???
forで100万回ループしてみろphp4がはやいことがわかるだろクズ共。
説明させんじゃねえ、市ね
0177nobodyさん2006/11/09(木) 06:20:19ID:???
一昔前なら回線速度が遅かったから、WEBアプリの実行速度なんて
それに比べればゴミみたいなもんだったが、今じゃアプリの速度=体感速度だしな。
0178nobodyさん2006/11/09(木) 06:21:08ID:???
>>176
5.1.2の方が速かったぞ
0179nobodyさん2006/11/09(木) 07:05:45ID:???
>>171
それは5.0だろ
速くなったのは5.1から
0180nobodyさん2006/11/09(木) 07:13:06ID:???
>>169の素数プログラムで
PHP5.1.4 4.3sec
PHP5.2.0 4.1sec

5.2で少し速くなってた(Win32 Apache2.0 PenD 3.0GHz)
01811802006/11/09(木) 07:25:50ID:???
>>169じゃなくて>>170のプログラムでした
http://www.thinkit.co.jp/cert/compare/2/2/2.htm

PHP4.4.4をダウンロードしてテストしたら9.2secでした
結果
PHP5.2>PHP5.1>>PHP4.4
0182nobodyさん2006/11/09(木) 07:33:06ID:???
>>181
>>171じゃない?
■ このスレッドは過去ログ倉庫に格納されています