【PHP】下らねぇ質問はここに書き込みやがれ 28
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん
2006/09/03(日) 21:01:08ID:???まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆質問する場合の注意
1. 自分のIDを表示させること。(メール欄に何も記述しないでください)
2. サーバーのOS、WebサーバーとPHPの種類やバージョン等を明記すること。
3. 己の行った操作、変更などを詳しく明記すること。
4. エラーメッセージはそのまま表記すること。「エラーが出ます」では絶対分かりません。
5. 質問者としても態度をわきまえること。
6. 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・質問者は必ずIDを表示させてください。(メール欄に何も記述しないでください。)
・2回目以降は最初に質問した際のレス番号を名前欄に入れてください。
(逆に回答者は質問者に対して>>(アンカー)をつけて答えてください。)
・解決しなくても回答をもらった場合はお礼を言う。
(荒らし、煽りは除く。逆に煽られたときも、無闇に反論せずスルーすべし)
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え。理解できないならムリに使うな。
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
0879859
2006/09/15(金) 19:06:44ID:???「PHP」 = IQの低いバカ用の(ry
0881859
2006/09/15(金) 19:20:07ID:???バカで貧乏人www
0882nobodyさん
2006/09/15(金) 19:30:10ID:???そういえば、自らの国家や民族に固執する右翼系の若者が世界的に増えているという事実も、多少気になるところだが。
0883871
2006/09/15(金) 19:32:19ID:???いや、俺はいちおう計算機科学の院生でかなり理論寄りなことやってて、数学にもどっぷりつかってるけど、システム開発で金稼いでるプロの連中はスゴイと思うよ。
859みたいにPHPの容易さと設計の難しさの区別もつかない世間知らずがいるようなので、ちょっと言ってみただけ。
0884nobodyさん
2006/09/15(金) 19:33:26ID:???愛国心を持とうレベルの発言で右翼認定されるような日本の現状があるしな。
数学が必要な分野と不要な分野があるだろうし、そこに固執するのは本質ではないだろ。
0885nobodyさん
2006/09/15(金) 20:10:59ID:???0886nobodyさん
2006/09/15(金) 20:33:36ID:???0887nobodyさん
2006/09/15(金) 20:51:52ID:???>853の質問の答えは出てるんだから、もういいだろ。
そんなに議論がしたいならよそに行ってくれ。
0888nobodyさん
2006/09/15(金) 20:57:29ID:???0889nobodyさん
2006/09/15(金) 21:00:10ID:???・・ちなみに自分は理系です。
頭はよくないけど人並みには数学知ってると思います。
文系の人だって高校レベルを理解してるなら全然問題ないと思います。
0892nobodyさん
2006/09/15(金) 21:08:38ID:???phpからPerlで書かれたCGIを呼び出せますか?
例えば以下のようなプログラム(whoamiの結果を返す)を実行したいのです。
ブラウズ上だと実行できないので、書き方に問題があると考えているのですが。
よろしくお願いします。
<?php
print system("/usr/bin/perl test.cgi");
?>
--test.cgi
#!/usr/bin/perl
print "Content-type:text/html\n\n";
print `whoami`;
0893nobodyさん
2006/09/15(金) 21:12:33ID:???セーフモードだったりすると動かないかも。
それ以前にwhoamiってフルパスで書かないと動かないと思うけどね。
0894892
2006/09/15(金) 21:19:23ID:???早速ありがとうございます。
フルパスでもダメでした。
ブラウズ上から直にtest.cgiを実行すると大丈夫なんですよね。
後、ローカルのコンソール上から以下のコマンドでも実施出来る事を確認済です。
php5 (phpのファイル名)
いったいどのようにすればブラウズ上から実行できるのでしょうか?^^;
0895nobodyさん
2006/09/15(金) 21:21:25ID:Llhzape20896892
2006/09/15(金) 21:27:58ID:???パーミッションの問題でした。
suEXECを導入しているのですが、system関数から呼び出すとsuEXECは動作してくれないんですね。
ありがとうございました。
0897nobodyさん
2006/09/15(金) 21:35:38ID:JKh10NJ7PHPはどのように組み込めばいいのですか?
0898nobodyさん
2006/09/15(金) 21:51:50ID:???インストールのことなら
http://www.php.net/manual/ja/install.php
0899nobodyさん
2006/09/15(金) 22:01:45ID:JKh10NJ7>>897修正
ウェブページにアクセス制限のphpを組み込みたいが、
htmlがわからない。
0900nobodyさん
2006/09/15(金) 22:20:45ID:???詳しくはマニュアル嫁
まぁ、諦めてベーシック認証にしとく方がいいと思うがな
0902nobodyさん
2006/09/15(金) 22:27:52ID:JKh10NJ70904nobodyさん
2006/09/15(金) 22:46:40ID:JKh10NJ7http://www.php.net/manual/ja/
を見ても何がなんだかわからない。
phpは触らないで置こう、できる気がしないorz
0905nobodyさん
2006/09/15(金) 22:54:59ID:UAoaNmQp$queryの値が下の様に、OKの時と空の時とあります。
name=NULL
name=\s
name=OK
で、これらにマッチするもの全てを
name=NANASHI
にしたいのですが、下に様にしてもうまくいきません。
preg_replace('/name=OK\s?/','name=NANASHI',$query)
どすれば良いのでしょうか?
0906nobodyさん
2006/09/15(金) 22:55:26ID:JKh10NJ7ttp://www.abcoroti.com:8081/~wiz/
0907nobodyさん
2006/09/15(金) 22:55:38ID:???Webサーバー(Apache等)の設定を変更して
.htmlという拡張子のファイルをPHP実行するようにしないといけない。
それがAddTypeという設定項目。httpd.confや.htaccessなどで設定する。
0908nobodyさん
2006/09/15(金) 22:59:03ID:???$query = preg_replace('/^name=(|OK|\s)$/', 'name=NANASHI', $query);
かな
0910nobodyさん
2006/09/15(金) 23:08:04ID:JKh10NJ7nekoteをindex.htmlファイルで使用したい。
この時、index.phpにはせず、index.htmlでnekoteのkillhost.phpを
作動させ、アクセス制限をしたい。
この場合に使用するHTMLなどを教えて欲しい。
お願いできないだろうか?
0911nobodyさん
2006/09/15(金) 23:11:23ID:UAoaNmQpアドバイスありがとうございます。
だめでした。
name=OKOK
となってしまいます。
後、言葉足らずでしたが、という風に埋め込まれてたりします。
name=OK
&name=OK&arg2=9
0912nobodyさん
2006/09/15(金) 23:12:07ID:???>>907
すでに.htmlでPHPが動くように設定されてるサーバーならともかく、
そうでないならHTMLをいくら修正したところでPHPは一切動作しない。
0913nobodyさん
2006/09/15(金) 23:16:23ID:JKh10NJ70914nobodyさん
2006/09/15(金) 23:16:25ID:UAoaNmQpうまくいったくさい。
最後に$つけるの忘れてました。
なんか、動きそうです。ありがとうございました!
0915nobodyさん
2006/09/15(金) 23:21:59ID:???ついでに質問ですが
preg_matchでは[a|b]が出来るのに、preg_replaceでは[a|b]は不可
なんでしょうか?ずっと、[]で囲んでました。()は後ろの配列に入れる時だと
ばかり思っていました。勉強不足ですね。
0916nobodyさん
2006/09/15(金) 23:24:54ID:???[〜] で括るときは | 無しで [ab] だと思うけど。
でもこれだと OK みたいな文字列は処理できないよね。
0917nobodyさん
2006/09/15(金) 23:26:06ID:JKh10NJ7ttp://www.abcoroti.com:8081/~wiz/index.php
こうなってしまう。どうすればいい?
0919nobodyさん
2006/09/15(金) 23:29:26ID:JKh10NJ7nekoteのkillhost.phpというファイルをindex.php、またはindex.html
で動作させたい。
なのに何故自分で作るのはやめたほうがいいのだろう?
0920nobodyさん
2006/09/15(金) 23:31:16ID:???>この場合に使用するHTMLなどを教えて欲しい。
HTMLの範疇では不可能。
次の手順を実行する必要がある。(Apacheの場合)
1. Apacheの設定ファイルhttpd.confまたは.htaccessに
AddType application/x-httpd-php .html
を追加。
2. index.htmlのどこかに、<?php include '[killhost.phpの場所]';?>を追加
killhost.phpが
/home/someone/killhost.php
に有る場合は
 :<?php include '/home/someone/killhost.php';?>
を追加する。
>>917
<?php include '/home/wiz/public_html/nekote/killhost.php';?>
ただ、ライブラリはpublic_html以下に置くのはいかがなものかと。
0921nobodyさん
2006/09/15(金) 23:37:26ID:JKh10NJ7次の手順自体わからない。
第一、public_htmlに置かないといけないサーバー。
0922nobodyさん
2006/09/15(金) 23:40:36ID:JKh10NJ7index.phpあるいわindex.htmlにどうやればnekoteを組み込めるのか。
動作できるのか。
0924nobodyさん
2006/09/15(金) 23:49:36ID:???出来ますでしょうか?
例えば
$message="こんにちわ!ご機嫌いかがですか。";
↓表示
<storng>こんにちわ!</strong>ご機嫌いかがですか。
※この例で言うと、$messageに「こんにちわ!」と入っていたら、表示画面では
太字になるstrongが付くという意味です。
0925nobodyさん
2006/09/15(金) 23:51:30ID:???index.phpの1行目に
<?php include('./nekote/killhost.php'); ?>
の1行を入れればいけねー?
0928924
2006/09/15(金) 23:57:07ID:???ありがとうございます。以下のようにstrtrを使っていたのですが、
この場合は何か不都合がありますでしょうか?
前にきいた時に、良くないと言われました。。
<?php
$str="<太>こんにちわ!</太>";
echo strtr($str,array("<太>"=>"<strong>","</太>"=>"</strong>"));
?>
0929nobodyさん
2006/09/16(土) 01:03:40ID:???別に構わん気もするが、日本語を含む変換はmb系の関数を使った方がいいかもね。
でもこの程度なら誤変換することも無いんじゃないの?
0931nobodyさん
2006/09/16(土) 03:04:23ID:UtRrdu7Lalt=$titleだと大丈夫なのですが、alt="$title" だとエラーがでます。
前者の場合、タイトルの中に半角スペースが入っていると途中で切れてしまうため
alt="$title"を使いたいのですが、良い方法はありませんか?
0932nobodyさん
2006/09/16(土) 03:45:58ID:???0933nobodyさん
2006/09/16(土) 07:29:40ID:???おそらく alt="$title" の前後にも " があるから
" alt="$title" "
エラーになってあたりまえ
0934nobodyさん
2006/09/16(土) 09:24:46ID:Y53T7tZb<?php
if(headers_sent()){echo "ダメ!";}else{echo "OK!";}
?>
結果:ダメ!
何故でしょう・・・・○| ̄|_
0936nobodyさん
2006/09/16(土) 09:54:54ID:???OS:Vine3.2
php5
現状の設定では、下記のファイルを以下のように書き換えてます。
/etc/apache2/conf.d/php5.conf
# Apache2 module
#<IfModule !sapi_apache2.c>
#LoadModule php5_module modules/libphp5.so
#AddType application/x-httpd-php .php .phtml
#AddType application/x-httpd-php-source .phps
#DirectoryIndex index.php index.phtml
#</IfModule>
# CGI
Action php5script /cgi-bin/php5-cgi
AddHandler php5script .php
DirectoryIndex index.php
それでもモジュール版で動作しているようで、whoamiを使ったphpプログラムでは
apahceのユーザ名で返されます。
CGI版で動作させる場合の設定が不足しているようです。
アドバイスをお願いします。
0938936
2006/09/16(土) 10:10:07ID:???suexecのバイナリはVineに備わっていたものではなく、
自分でコンパイルしたものを使用してます。
ただしphpを有効にするような設定?はコンパイル時に指定した記憶はありません。
もう少し具体的にお話を伺えないでしょうか。
よろしくお願いします
0939936
2006/09/16(土) 10:20:24ID:???現状として、phpの拡張子でsuEXECを動作させるための設定が不足しているとは睨んでいるのですけど。
よろしくお願いします。
0940nobodyさん
2006/09/16(土) 10:37:53ID:???modとCGIの両方を動かそうとして上書きしてません?
0941nobodyさん
2006/09/16(土) 10:38:44ID:???いや、suEXECとして動かす前にCGIとして動かすことだと思う。
本当にそのphp5.confは読み込めてるの?
別のファイルがインクルードされてたってオチはない?
>>937
>>936の書き込みのどこ見たらPHP側で設定してるように見えるんだ。
0942nobodyさん
2006/09/16(土) 10:44:40ID:???0943936
2006/09/16(土) 10:46:10ID:???php5.confが読み込めているかどうかは、あやしいですね。
apt-getで取得したphp5のconfだったので、改めて確認するまでもなく、読み込まれていると考えてました。
恐縮ですが、php5.confの読み込み設定確認はどちらで行うのでしょうか?
httpd.confでしょうか?php.iniでしょうか?
(どちらにも、php5.confの記述は無い事を確認しました。)
よろしくお願いします
0944nobodyさん
2006/09/16(土) 10:53:42ID:???httpd.confのどっかに
Include etc/apache2/conf.d/php5.conf
って1行を書いてやる必要があるんじゃないの?
php5.confはそのままだとただのサンプル設定だと思う。
0945nobodyさん
2006/09/16(土) 10:58:56ID:???conf.dを使う場合は
Include conf.d/*.conf
という記述で、ディレクトリ内の*.confを全部読み込む指定にするもんだと思う。
>>943
conf.d内にphp5.conf以外にもphp設定をしてるファイルが混じったりしてないか?
0946936
2006/09/16(土) 11:09:04ID:???httpd.confに以下の記述はありました。
Include conf.d/*.conf
また、conf.dには以下のファイルしかありませんね。
ls /etc/apache/conf.d
README php5.bk php5.conf php5.conf~
結論で言えば、php5.confは読み込めていそうですね。
それでもphpの拡張子でsuEXECが動作しないのは何故だろう。
ほかに原因として考えられる事はありますか?
よろしくお願いします。
0947nobodyさん
2006/09/16(土) 11:18:48ID:???リスタートしてなかったら大爆笑だがw。
0948936
2006/09/16(土) 11:38:51ID:???もしかしたら?と思って、OSのリブートましたけど、ダメでしたねw
CGI版で動いてなければ、モジュール版で動いているはず。
しかし、php5.confは修正済。参りましたね。
ちょっとお風呂入ってリラックスしてきます。
0949nobodyさん
2006/09/16(土) 11:42:35ID:???そもそも、apacheはreloadもしくはrestartしてる?
あと、vineだとapache2とapacheがあるとおもうけど、動いてるのはどっちか確認した?
0951nobodyさん
2006/09/16(土) 12:17:18ID:Spq9TZy5[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9\-\.]+\.[a-zA-Z]+
ところがこれだと、トップレベルドメインの末尾に数字があってもマッチしてしまいます。
たとえば、「test.com」はOKだけど「test.com5」はNGにしたいのですが、
この正規表現では何がマズイのでしょうか?
0952936
2006/09/16(土) 12:18:26ID:???なるほど、phpinfo()でCGI版か、モジュール版を確認出来るのですね。
下記にphpinfo()を公開します。
どの項目に明記されているかをご指摘いただけないでしょうか。
お手数ですが、よろしくお願いします。
ttp://210.139.207.242/~kozu/index.php
0957936
2006/09/16(土) 12:22:58ID:???やはりそこでしたか。
ありがとうございます。
ということは、現在phpはCGI版で動作しているので、
suEXECがphpの拡張子で動作しない理由は他にある。
って感じですよね。
0958nobodyさん
2006/09/16(土) 12:35:06ID:???0959936
2006/09/16(土) 12:38:25ID:???以下の設定が不足している事が判明しました。
いろいろとお世話になりました。
ありがとうございました。
httpd.conf
AddHandler /cgi-bin/ .cgi .php
0960936
2006/09/16(土) 12:54:36ID:???httpd.conf
AddHandler cgi-script .cgi .php
0961951
2006/09/16(土) 15:11:10ID:Spq9TZy5[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9\-\.]+\.[a-zA-Z]+$
で、解決したようです。
ありがとうございました。
0963nobodyさん
2006/09/16(土) 15:21:49ID:???そういうふざけたチェックするなよ
メールアドレスに "!" などを使っている漏れはどうすればいいんだ?
いっとくが、ドット2連続で使うやつと違って、RFC準拠の正当なメールアドレスだからな
Perlでもphpでもメールアドレスの正当性チェックするモジュールあるんだからそれ使えばいいじゃん
面倒だったらせめて、
^[a-zA-Z0-9!$&*.=^`|~#%'+\/?_{}-]+@([a-zA-Z0-9_-]+\.)+[a-zA-Z]{2,4}$
にでもしとけ。
0964951
2006/09/16(土) 15:32:30ID:Spq9TZy5先頭にそれが無いと、どういった支障が出ちゃうのでしょうか??
>>963
すいません、実はこれは技術評論社の『正規表現ポケットリファレンス』という本を参考にしてます。
http://bitarts.jp/books/
この本は他にもいろいろ間違いというか、足りない点がたくさんあるようで、
今までにも何度も動作に問題が発生して、そのたびに2ちゃんで助けていただいてました… orz
0965nobodyさん
2006/09/16(土) 15:35:14ID:???チェックになってない<先頭に ^ 無し
http://www.tt.rim.or.jp/~canada/comp/cgi/tech/mailaddrmatch/
でも読んどけ
0967951
2006/09/16(土) 15:43:50ID:Spq9TZy5あわわ・・・
たしかにいま実験してみましたところ、先頭に「^」が無いと、
「あtest@example.com」などのアドレスがチェックを通過しちゃいますね。
すいません、正規表現ド素人なもので。。。
0968nobodyさん
2006/09/16(土) 15:46:11ID:???簡単な入力ミスのチェックと、セキュリティ的なチェックができれば十分。
0969nobodyさん
2006/09/16(土) 15:47:37ID:???0970nobodyさん
2006/09/16(土) 15:48:17ID:???親の親のクラスのメソッドを呼び出すことはできますか?
0971nobodyさん
2006/09/16(土) 18:19:29ID:???「PHP」 = IQの低い貧乏人御用達
0972nobodyさん
2006/09/16(土) 18:35:23ID:???で、おまえは?
0973nobodyさん
2006/09/16(土) 18:41:01ID:???「ASP」 >>>>>>>>>>>>>>>> ............. 「PHP」
0974nobodyさん
2006/09/16(土) 19:44:57ID:???( ・(エ)・)
(\_i i_ノ
(_( ̄)_)
.∩_∩
( ・(エ)・) クマネチ
(_( )_)
(_( ̄)_)
0975nobodyさん
2006/09/16(土) 20:52:18ID:6z1q+ziI出て行けといわれましたが、確認用に来て見ましたらレスがあったようなので一応。
Warning: file(kill.conf): failed to open stream: No such file or directory in /home/wiz/public_html/nekote/killhost.php on line 22
Warning: Invalid argument supplied for foreach() in /home/wiz/public_html/nekote/killhost.php on line 23
Warning: file(dany.dat): failed to open stream: No such file or directory in /home/wiz/public_html/nekote/killhost.php on line 32
Warning: Invalid argument supplied for foreach() in /home/wiz/public_html/nekote/killhost.php on line 33
と表示されてしまい、できていないようです。
どうすればいいでしょう。
0976nobodyさん
2006/09/16(土) 20:56:43ID:???設定とデータファイルが見つからないと主張しているんだから見つけられるようにしてあげたら
良いのでは。パーミッションとかじゃないの?。
0977nobodyさん
2006/09/16(土) 21:33:08ID:6z1q+ziIこのサーバーはphpに対応しないようで、
他のサーバーと見間違えてしまっていたようです。
0978nobodyさん
2006/09/16(土) 21:38:24ID:6z1q+ziIhttp://www.abcoroti.com:8081/~rent/search.php
レス数が950を超えています。1000を超えると書き込みができなくなります。