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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2008/08/16(土) 12:01:25ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

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

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

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0552nobodyさん2008/08/27(水) 17:49:41ID:???
winXPです。
Apache2.2.9 PHP5.2.6です。
拡張子htmlでもphpが動いて欲しくて、
下記の記述をhttpd.confにしましたが、
動いてくれません。どうすれば動きますか?
教えてください。
AddType application/x-httpd-php .php .html
0553nobodyさん2008/08/27(水) 18:06:18ID:???
>>552
そりゃhttpd.confの設定が何かおかしいんだろ
普通にphpは動くの?
.htaccessはちゃんと使えるの?
もし使えるなら.htaccessで
AddType application/x-httpd-php .html
というのをルートにおいてみ
0554nobodyさん2008/08/27(水) 18:06:26ID:???
リスタートした?
0555nobodyさん2008/08/27(水) 18:07:13ID:???
>>551
コンパイルオプションでlibxml2があるかどうかもチェックした方がいいかもな(phpinfo)
組み込まれてなかったら諦めて代替を検討
組み込まれていても読み込まれていない可能性がある、この場合はdl()でロード出来るか確認(dom.soやdom.dll)
05565522008/08/27(水) 18:21:24ID:???
>>553
phpinfo.phpの中にphpinfo();を記述しています。
phpinfo.phpは正常に見れます。

逆に変なのは、httpd.confの中に
AddType application/x-httpd-php .php
ではなく
AddType application/x-httpd-php .html
とした場合でも、

phpinfo.phpが正常に見れます。
05575522008/08/27(水) 18:23:37ID:???
いろいろググっても、
拡張子phpの動作は出来ても、
拡張子htmlでphpを動かす例が
見当たりません。
0558nobodyさん2008/08/27(水) 18:31:01ID:???
とあるサーバーで、apacheハンドラで、.htaccessを.cgiに関連付けしたらそれ以降500エラーになった。
エラーログは
/home/hostingg/public_html/.htaccess: </Files>AddHandler> directive missing closing '>'
こんな漢字です。これってやっぱ関連付けしたのが悪かったんですかね。
0559nobodyさん2008/08/27(水) 18:32:17ID:???
>>557
だからリスタートしたのかよ
0560nobodyさん2008/08/27(水) 18:33:01ID:???
リスタートしても変わらないなら、そもそも別のhttpd.confの編集してるんじゃない?
05615522008/08/27(水) 18:33:58ID:???
>>559
はい、リスタートではなく、
より強力はストップ→スタートをしています。
0562nobodyさん2008/08/27(水) 18:35:06ID:???
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
0563nobodyさん2008/08/27(水) 18:36:39ID:???
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
05645522008/08/27(水) 18:38:19ID:???
より強力なストップ→スタートをしています。

いじめないでよ
0565nobodyさん2008/08/27(水) 18:43:58ID:???
ログでちゃんと再起動できてるか確認できる?
サービスから直接ストップ、スタートしたときと動作同じ?
05665522008/08/27(水) 18:45:04ID:???
AddType application/x-httpd-php .php
の記述が無くても
phpinfo();
は見れる。

どこのサイトも
phpinfo();が見えて
おめでとうございます!
って書いてあるけど、
ちと、違うんじゃねーか???と思う。

拡張子htmlでphpが動く実績の環境が知りたいです。
0567nobodyさん2008/08/27(水) 18:46:33ID:???
>>566
普通は見れねーよ
やっぱ違うconfいじってんだろ
05685522008/08/27(水) 18:47:45ID:???
> やっぱ違うconfいじってんだろ

それは、ないと思うなぁ
05695512008/08/27(水) 18:51:30ID:???
>>555
レスありがとうございます。

◆xml
libxml2 Version 2.6.16
とありました。これは大丈夫そうです。

ですが、折角教えていただいたdl()関数はSafe Modeの為動きませんでした。
これはもう代替を検討しないといけないのでしょうか・・・orz
0570nobodyさん2008/08/27(水) 18:52:11ID:???
>>568
エラーになるように適当な文字入れてリスタートしてみては
0571nobodyさん2008/08/27(水) 18:56:52ID:???
じゃあ.phpでやればいいんんじゃないか?
なんでだめなん?

05725522008/08/27(水) 19:02:00ID:???
>>570
後でやってみますが、間違ってはいません。
05735522008/08/27(水) 19:02:26ID:???
>>571
ユーザにphpで動いてるのを知られたくないからです。
0574nobodyさん2008/08/27(水) 19:03:13ID:???
少なくとも、>>566のように書いてる人の話は信用できないから
全部疑ってかかるしかないんだよ。
0575nobodyさん2008/08/27(水) 19:14:44ID:???
>>569
あら、残念
代替案を立てるしかないね(PEARで互換性のあるものを使うとか)
それか、サポートに聞いてみたらどうだろ
DOM使えんのかゴラァって
05765522008/08/27(水) 19:18:07ID:???
>>574
ちょっと待ってください。
解決ができそうです。
05775512008/08/27(水) 19:28:04ID:???
>>575
泣く泣く該当する処理部分をSimpleXMLに差し替えました。
SimpleXMLは使ったこと無かったけども、ラッパーメソッド用意していた為、
差し替え作業自体は数分で終わりました。(データはまだ検証中ですが・・・)

これでまたPHP5依存度が上がりましたorz

今回の件は結果は微妙でしたけども、
サーバー選びの注意事項、PHPについて良い勉強になりました。

お答えくださった方、ありがとうございましたっ!
0578nobodyさん2008/08/27(水) 19:28:20ID:???
ものすごい初歩的な質問なのですが…
phpファイルで別のphpファイルを読み込ませて擬似フレームページを作っています。
それで、読み込む先のファイルのhtmlの記述の仕方について質問です。
現在、読み込む先のファイルは、<head>やら<body>やらすっとばして、
<body></body>の中に相当する部分のみの記述で作っています。
これには何か問題はあるでしょうか?
本当にスレタイに沿いすぎた疑問ですみません。
0579nobodyさん2008/08/27(水) 19:40:48ID:???
>>578
別にないと思うけど。
質問とはちょっと方向違うけど、俺なら読みこまれるHTMLを.htaccessで隠したりはする。
0580nobodyさん2008/08/27(水) 19:46:18ID:???
>>579
そういう秘密主義は、時として原因不明の悲劇に見舞われるよ。俺の経験則上。
0581nobodyさん2008/08/27(水) 20:26:43ID:???
>>578
各パーツを分割する手法はテンプレートエンジンとかでも良く見るから問題ない
ちなみにincludeで呼ぶとphpとして実行されるから、意図しない「<?」には注意
fileとかその他のラッパーならそのまま出力されるから問題なし
0582nobodyさん2008/08/27(水) 20:28:22ID:???
>>578
最終的に出力されるhtmlで考えればおk
05835782008/08/27(水) 20:31:09ID:???
皆さんありがとうございます!特に問題ない、というか、
このやり方の方が適切のようで、安心しました。
0584nobodyさん2008/08/27(水) 20:32:49ID:???
まぁhtmlタグの中に入れ子でhtmlタグがあって大丈夫だと考えるほうがおかしいわな。
0585nobodyさん2008/08/27(水) 21:31:17ID:Y6+5IHEq
PHPでサーバのMySQLのバージョンを取得し、
処理を分岐したいのですが、どういう関数を使えばいいのでしょうか?
0586nobodyさん2008/08/27(水) 21:38:41ID:???
SHOW VARIABLESでも投げれば?
0587nobodyさん2008/08/27(水) 21:49:44ID:???
mysql_get_server_info()
0588nobodyさん2008/08/28(木) 00:01:12ID:???
浦島太郎は実は三浦半島出身です。
0589nobodyさん2008/08/28(木) 01:13:56ID:???
ユーザにphpで動いてるのを知られたくないからです。

意味がわからん。
なんで?あんたサーバー公開でもするの?
Winで?
まあいいけど、そんなことも自分でなんとかできないようじゃ
難しいんじゃないの?
こちらも情報がたりないんだよね。
推測でもの言っているし。
あとPHPで作れるのがしられるとなにかまずいの?
そっちが気になる

0590nobodyさん2008/08/28(木) 01:25:02ID:8cctUgGm
初歩的な質問ですいませんが、よろしくお願いいたします。

とある変数をvar_dump()した所、以下の値が帰って来ました。

object(SimpleXMLElement)#47 (1) {
   [0]=> string(9) "テスト"
}

このオブジェクトからテストを取り出すには
どのように記述すれば良いのでしょうか?
0591nobodyさん2008/08/28(木) 01:26:29ID:???
マニュアル嫁
0592nobodyさん2008/08/28(木) 01:31:11ID:8cctUgGm
>>591
もちろんマニュアルは読んだ上で質問しています。
載っていましたか?

http://php.morva.net/manual/ja/ref.simplexml.php
0593nobodyさん2008/08/28(木) 01:52:38ID:ovgSK1d+
ある文字列を「a-zA-Z0-9」の範囲の文字を使って暗号化させたいのですが、
なにか良い方法はありますでしょうか?

crypでいけるかな、と思ったのですがこれでは「.」と「/」が入ってしまいます・・・
何か良い方法がありますでしょうか?
0594nobodyさん2008/08/28(木) 02:00:26ID:???
じゃぁそのcryptで取得した文字列をさらに、unpackしたりしたらどうですか。
長いけど。

$a = 'hogehoge';
$a = crypt($a);
$b = unpack('H*', $a);
$encoded = $b[0];
0595nobodyさん2008/08/28(木) 08:29:02ID:OVvHROhC
include文で、引数を渡したいのですが、無理なんですか?

include("test.php?1234");

として
test.phpの中で
_SERVER["QUERY_STRING"]
を取得したいです。
0596nobodyさん2008/08/28(木) 08:34:40ID:???
>>595
無理だろ。
function( test(arg) )として定義したtest.phpを
include('test.php');
して、
test(1234);
と引数付きで呼び出せばいいと思うんだが。
0597nobodyさん2008/08/28(木) 09:11:42ID:???
PHPで認証システムを作ってるんだけど
複数のアカウントに同時のログインできるようにするときの処理が
いまいちうまく作れません。

どの本を見ても、クッキーが上書きされるような作りになってるので
ブラウザを二つ開いて片方はAさんとしてログインしても
もう片方でBさんとしてログインすると 両方ともBさんになってしまう。
これはいけないですね。どうしたらよいでしょう。
0598nobodyさん2008/08/28(木) 09:14:10ID:???
IEとFxとか別のブラウザで開く
0599nobodyさん2008/08/28(木) 09:20:55ID:???
>>596
インクルードした時点で変数も引き継がれてしまうので
わざわざ引数をつける必要性が無い
06005952008/08/28(木) 09:26:37ID:OVvHROhC
>>596
ありがとうございます。
うまくいきそうです。
0601nobodyさん2008/08/28(木) 09:43:43ID:???
>>592
http://php.morva.net/manual/ja/language.oop5.php
0602nobodyさん2008/08/28(木) 10:46:41ID:???
>>594
HよりもmでBase64した方が効率的かも
PHPのunpack()にmがあるかは知らないけど、base64する関数はあったはず。

あー、Base64は=で余りを埋めることがあった気がする。
だとしたら使えないか
0603nobodyさん2008/08/28(木) 11:56:53ID:???
>>552
httpd.confに書くんじゃないよ
別の設定ファイルがあるでしょ
ググってね
0604nobodyさん2008/08/28(木) 13:00:55ID:1+PcK3cN
PHP5です。
$samp=0;や 1/0のようにしたときに出るDivision by zero警告を出ないようにする方法はありませんか?

そのままスルーして処理を続行してほしいんですが。
処理としては0割り算のときに発生しまう
$samp=10/0; など
よろしくお願いします
0605nobodyさん2008/08/28(木) 13:05:32ID:???
0で割り算しないようにする。
0606nobodyさん2008/08/28(木) 13:39:58ID:???
>>604
明示的に型を宣言しとけばおk
0607nobodyさん2008/08/28(木) 14:06:44ID:???
>>603
嘘つき
0608nobodyさん2008/08/28(木) 14:58:03ID:???
>>607
>>603の言ってることは正しいような気がするが
調べもせずに嘘つき呼ばわりとは
XAMPPはXAMPP用のconfファイルがあるはず、httpd.conf内にInclude構文がないか確認しれ
0609nobodyさん2008/08/28(木) 15:18:01ID:???
>>607
氏ね
この手の質問に答える気無くした
0610nobodyさん2008/08/28(木) 15:18:55ID:???
>>607
apache2.2の設定ファイルはhttpd.confだけじゃないのに嘘つきとは失礼な奴だな調べもせずに
マジ市ね
0611nobodyさん2008/08/28(木) 15:21:38ID:???
httpd.confがインクルードしてるとかじゃなくて?
つーか、質問者はXAMPPなんて一言も言ってない気が?

まあXAMPP使うやつなんてそんなレベルだからしょうがないかもしれんが。
0612nobodyさん2008/08/28(木) 15:22:27ID:???
別にextraに拘らなくてもいいけどな。
httpd.confに全部づらづらと書いてもOKでしょ?

って意味じゃないか?
0613nobodyさん2008/08/28(木) 15:25:36ID:???
で、どのextraに記述すればいいんだ?
後学の為に教えてください。
0614nobodyさん2008/08/28(木) 15:55:22ID:???
>>613
sine
0615nobodyさん2008/08/28(木) 17:15:43ID:???
なんで、死ねなんだよ。。。
0616nobodyさん2008/08/28(木) 17:19:24ID:???
ファイル名じゃないのか
0617nobodyさん2008/08/28(木) 17:25:45ID:???
態度のでかい質問者への回答はできません
お引取りください
0618nobodyさん2008/08/28(木) 17:56:31ID:???
PHPはサーバーでjsはここのパソコンが処理しているんですよね
ということは、大量にアクセスがあるサイトを複雑なphpで処理するとサーバー側の処理が遅くなったりするんでしょうか

やはり、処理の早いサーバーやおそいサーバーなどあるんでしょうか
0619nobodyさん2008/08/28(木) 18:00:23ID:???
>>618
そうです。
0620nobodyさん2008/08/28(木) 18:00:26ID:???
あるよ
0621nobodyさん2008/08/28(木) 18:10:34ID:???
>>618
サーバっていっても普通のパソコンと一緒
ウイルスチェックしながらファイルコピーしたりすると遅くなる経験あるでしょ
処理の早さにはCPU、メモリ、HDD、NICなんかも関係してくる
とりあえず無限ループだけはしないように注意すべし
0622nobodyさん2008/08/28(木) 18:50:08ID:???
本日の基地害
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
サーバっていっても普通のパソコンと一緒
サーバっていっても普通のパソコンと一緒
サーバっていっても普通のパソコンと一緒
サーバっていっても普通のパソコンと一緒
サーバっていっても普通のパソコンと一緒
サーバっていっても普通のパソコンと一緒
サーバっていっても普通のパソコンと一緒
サーバっていっても普通のパソコンと一緒
サーバっていっても普通のパソコンと一緒
サーバっていっても普通のパソコンと一緒
サーバっていっても普通のパソコンと一緒
サーバっていっても普通のパソコンと一緒
0623nobodyさん2008/08/28(木) 19:21:20ID:???
>>622
合っていると思うが
0624nobodyさん2008/08/28(木) 19:28:40ID:???
普通のパソコンをサーバにすることはあるが
サーバが全て普通のパソコンと一緒と誤解させるような書き方はどうかと
0625nobodyさん2008/08/28(木) 19:34:57ID:???
>>623
こういう感覚でサーバーをいじる奴、趣味の延長でサーバーやシステムを語る奴がいるから、
プロジェクトが火を噴くんだよ。上も下も。老いも若きもだ。
0626nobodyさん2008/08/28(木) 19:41:27ID:???
馬鹿じゃね?一緒だろ
サーバっていっても冗長化すらしてない一般的なパソコンそのまま使ってるとこもある

>>625
お前みたいな知ったようなそぶりでものをいって
実は何もしらないやつは黙ってろよ
0627nobodyさん2008/08/28(木) 19:43:14ID:???
>>624
いやそういうことじゃないだろ
複雑な処理がかさむとサーバーが重くなる(処理が遅くなる)という点で一緒といってるんだろ
0628nobodyさん2008/08/28(木) 19:45:39ID:???
MTBFが違うよ
0629nobodyさん2008/08/28(木) 19:47:55ID:???
>>628
必ずしもそうとは限らない
サーバの構成といってもさまざま
0630nobodyさん2008/08/28(木) 19:48:19ID:???
さまざまなら違うじゃん
0631nobodyさん2008/08/28(木) 19:50:16ID:???
>>630
何をいってるんだ?
普通のPCと違ってサーバ機はMTBFが違う(故障しにくい)といったんだろ?
それにたいして普通のPCよりもMTBFが短い場合があるといったわけだが
0632nobodyさん2008/08/28(木) 19:51:41ID:???
長い場合と短い場合があるならなおさら違うじゃん
0633nobodyさん2008/08/28(木) 19:52:59ID:???
>>626
プログラミング板で、サーバもパソコンも一緒だとか言う奴は、
所詮その程度の人間ってことだろ。
0634nobodyさん2008/08/28(木) 19:55:25ID:???
>>627
わかってる人が読めばそう受け取れるけど、そうでない人には
普通のパソコンもサーバも同じモノなんだと読める書き方がダメと言いたいんだ
アーキテクチャが一緒とかならいいんだけど、それだと伝わらんだろうしな
0635nobodyさん2008/08/28(木) 19:57:42ID:???
>>633
意味がわかりません
0636nobodyさん2008/08/28(木) 19:57:51ID:???
で、どのextraに記述すればよいのでしょうか?
後学の為に教えてください。
0637nobodyさん2008/08/28(木) 19:58:46ID:???
>>1
0638nobodyさん2008/08/28(木) 19:58:58ID:???
>>635
メーカーが鯖として売ってるハードとPCでは違うってこと。
0639nobodyさん2008/08/28(木) 20:05:51ID:???
>>638
それは間違った認識
形状だって普通のPCと同じタワー型で
全く同じ構成でOSだけサーバ系のものをを入れてサーバと謳って販売するとこもある
0640nobodyさん2008/08/28(木) 20:08:43ID:???
PG「パソコンもサーバーも一緒」
PG「パソコンも汎用機も一緒」
PG「パソコンもスパコン一緒」
PG「パソコンもマイコンも一緒」
・・・
PG「phpもJAVAも一緒」
PG「phpもアセンブルも一緒」
・・・
0641nobodyさん2008/08/28(木) 20:11:49ID:???
PGっていうやつに限ってロクなやつがいないよな
0642nobodyさん2008/08/28(木) 20:14:21ID:???
>>639
じゃあ違いは?
0643nobodyさん2008/08/28(木) 20:16:56ID:???
鯖とPCでは、サポート体制も違うと思う。
0644nobodyさん2008/08/28(木) 20:17:12ID:???
電源入れてOS読み込んで動作するなら
サーバーも汎用機も同じパソコン
本体の機能でどこかがとがっているのが専用機で
とがっていないのが汎用機という違いはあるがな〜
0645nobodyさん2008/08/28(木) 20:22:53ID:???
>>642
あえていうならインストールされているソフトウェアの問題
構成次第なのだからハードレベルで明確に違うと断言することはできない
ハードでいえば障害がおきても瞬時に切り替えられるあらゆる箇所がデュプレックスされた
そんな1Uサーバが整然とデータセンターに並んでいるのを想像するだろうが
そんな高価なサーバだけが世の中に存在するわけではない
0646nobodyさん2008/08/28(木) 20:31:53ID:???
明確なハードの違いの線引きは無いけど、サーバを名乗るのなら
メモリのパリティ有りとか、いいコンデンサを使うとか、信頼できるチップを載せるとか
冗長化は重要だけど、それ以外でもやって欲しい事はいくらでもあるな
0647nobodyさん2008/08/28(木) 20:32:35ID:???
NULLを含んでいる配列から、NULLを取り除きたいです。
今はこうしています。

$new = array();
foreach ($array as $item) {
if ($item !== NULL) {
$new[] = $item;
}
}
return $new;

これを一発でやってくれる関数はありますか。
マニュアルを見た限りではなさそうですが、もしかしたらあるかもしれないと思い、質問しました。
0648nobodyさん2008/08/28(木) 20:38:32ID:???
あるけど7行を1行にすることに尽力する前にもっと大きい視点から最適化しろ
0649nobodyさん2008/08/28(木) 20:41:12ID:???
とがっているってどういう意味だよ?

あと汎用機が何をさすのか知ってるのか?
0650nobodyさん2008/08/28(木) 21:53:38ID:???
>>647
array_diff_assoc
0651nobodyさん2008/08/28(木) 22:04:01ID:???
パソコンってパーソナルコンピュータの略な
■ このスレッドは過去ログ倉庫に格納されています