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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2007/04/27(金) 10:02:42ID:H9gF1SfB
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

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

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

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0784nobodyさん2007/05/09(水) 18:08:18ID:???
>>783
ならないうちはHTMLソース見ないでよくやる失敗だよね
0785爆音で名前が聞こえません2007/05/09(水) 18:30:18ID:xxzAywl/
>>782
試してみましたがログインネームはtanaka, satou, tanakaでした

for($i = 0; $i <= 2; $i++){
 $login_name[$i] = mk_login_name($name[$i]);
}
↑のように人数分関数を動かしてその間中カウントしたいのですが
1回のリクエストの中でそのカウント方式が完結してよいのでしょうか…?
0786爆音で名前が聞こえません2007/05/09(水) 18:36:00ID:xxzAywl/
>>782
すいません、解決しました
カウント部分は未変更で意図した結果になりました
07877822007/05/09(水) 18:38:25ID:???
スペル間違ってた
×static $counter
○static $count

つーか、1回のリクエストの中でカウント方式が完結したら、普通はダメだわな。
どんな仕様・設計にしてるか知らんが。
0788nobodyさん2007/05/09(水) 19:07:52ID:???
XAMPPの最新版使って

<?php
function showString($value, $num, $delim){
for($i=1;$i<=$num;$i++){
print($value.$delim);
}
}
showString('だるまさんが転んだ!',5,<br />');
?>

と入力したら真っ白(エラーなんたらも無し)になったけど

Why?
0789nobodyさん2007/05/09(水) 19:13:30ID:???
ブラウザのデフォルト文字色が白
0790nobodyさん2007/05/09(水) 19:15:26ID:???
for文の前にprintを書いてちゃんと値が渡ってるかどうか確認しる
つか<br />'の前に'が無いんだが
これが原因だったら2chに書き込む前に5分考えろ
0791nobodyさん2007/05/09(水) 19:23:49ID:???
>>790

5分考えたら分かったよ

'が無かったね
0792nobodyさん2007/05/09(水) 19:32:36ID:???
そろそろまたID表示強化月間だと思うんだ
0793nobodyさん2007/05/09(水) 21:52:45ID:???
>>792
OKブラジャー
0794nobodyさん2007/05/09(水) 22:55:53ID:???
今朝の話題がはてなでも話題に
ttp://b.hatena.ne.jp/entry/http://www.aoky.net/articles/jeff_atwood/why_cant_programmers_program.htm
0795764です2007/05/09(水) 23:09:58ID:zHM/pvx9
かなりアフォな質問だと思うのですが、

$string = "http://abc.com/とhttp://abcd.com/";;
print(mb_eregi_replace('(http://|https://)[a-z0-9./_\-]+','<a href="\0">\0</a><br/>',$string);
で、http://abcd.com/がリンクされません。二回目以降どうすればいいのでしょうか?
0796nobodyさん2007/05/09(水) 23:17:22ID:???
>>783
なるほど! すっきりしました。
ありがとうございました。
0797nobodyさん2007/05/09(水) 23:20:52ID:???
初心者はapache、php、mysql全部インストーラー無しでやってみれと言いたい
0798nobodyさん2007/05/09(水) 23:21:11ID:???
>>794
最短解はこの辺?
$i=0;while($i<100)echo(++$i%15?($i%5?($i%3?$i:"Fizz"):"Buzz"):"FizzBuzz")."\n";
1byteでも短くするなら少々反則を入れて
while($i<100)echo(++$i%15?($i%5?($i%3?$i:Fizz):Buzz):FizzBuzz)."\n";

剰余計算なしの手法としてはこの辺りか。
$s = array(0,0,1,0,2,1,0,0,1,2,0,1,0,0,3);
$f = array("%d","Fizz","Buzz","FizzBuzz");
$i = 0;
while($i <100) printf($f[$s[$i%15]]."\n", ++$i);
0799nobodyさん2007/05/09(水) 23:24:05ID:???
俺はもうだめかもしれない・・・
ついにオナフォールを買ってしまった・・・
風俗には今まで全然いったこと無かったのに
何でいきなりオナフォール・・・

まだ風俗の方が健全な気がするぜ!
08007992007/05/09(水) 23:26:39ID:???
誤爆嶋ssssssssssssss
うわがああああああ忘れてくれええええええええええええええ
0801nobodyさん2007/05/09(水) 23:27:11ID:okhokTRP
>>797
インストーラーなんて元々ないんだけど?
0802nobodyさん2007/05/09(水) 23:29:36ID:???
あるじゃん
0803nobodyさん2007/05/09(水) 23:33:30ID:???
PHPのインストーラは見たことあるけど
MySQLとApacheのインストーラなしって
Windowsであるの?
0804nobodyさん2007/05/09(水) 23:34:33ID:???
あるじゃん
0805nobodyさん2007/05/09(水) 23:39:16ID:okhokTRP
ドザの話か・・・・
0806nobodyさん2007/05/09(水) 23:55:24ID:???
Apache-win用のインストーラー無しは無いぽ
ビルドするかmsiを展開できるツール使えばできそうだが
0807nobodyさん2007/05/09(水) 23:55:41ID:???
>>799
風俗の前にオナホでも全然おかしくないだろ
むしろ風俗前のレッスンと考えるんだ
0808nobodyさん2007/05/10(木) 00:28:42ID:i4wrMZ/Q
wikipediaなどでは
hogehoge.com/ほげほげ
等、URIに日本語を直接記述していますが、
何故URLエンコードしなくても問題が起こらないのでしょうか?
0809nobodyさん2007/05/10(木) 00:32:52ID:???
ブラウザがエンコードしてくれてるんじゃないか?
0810nobodyさん2007/05/10(木) 00:37:19ID:???
>>806
あるじゃん
http://brandleadershipmarketing.com/apache/

つかサービス登録してくれてApache Monitor入れてくれるくらいの違いしかないだろが,インストーラ
0811nobodyさん2007/05/10(木) 00:38:11ID:???
同上でブラウザがエンコードしてるんだと思う
FireFoxだと日本語で入力しても表示されない
0812nobodyさん2007/05/10(木) 00:43:33ID:???
>>809,811
本当ですね
まさかそんな答えだったとは…
ありがとうございました
08137952007/05/10(木) 01:15:59ID:???
自分なりに考えたのですが動きません…
$string = "http://abc.com/とhttp://abcd.com/";;
while(mb_eregi('(http://|https://)[a-z0-9./_\-]+',$string)){
$string = mb_eregi_replace('(http://|https://)[a-z0-9./_\-]+','<a
href="\0">\0</a><br/>',$string);
0814nobodyさん2007/05/10(木) 01:23:06ID:qTUopfwt
>>813
何がしたいの?
URLにリンク貼るだけならwhileいらなくね?
二回目以降って何の二回目以降?

目的がわからないから答えようないよ
0815nobodyさん2007/05/10(木) 01:50:15ID:???
phpの中にjavascriptを記述する時のいい方法ないですか?
$code = "
var a = \"abc\";
";
いちいち"や'に気を遣うのが嫌になりました
0816nobodyさん2007/05/10(木) 01:54:17ID:qTUopfwt
print <<<EOF

EOF;
0817nobodyさん2007/05/10(木) 02:09:35ID:ucjeMPs6
GETの引数は、普通「&」で区切られますが、
「&」を区切り文字としないで、
GET引数の数を1つに固定…なんて事はできるんでしょうか?

とりあえず.htaccessで以下のように書いて回避しています。

php_value arg_separator.input "\"

"\"にしたのは、RFC2396読んで多分URLには使われないだろう踏んだからなんですが。
(参照元:http://jbpe.tripod.com/rfcj/rfc2396.ej.sjis.txt)

この回避策に関しての欠点、もしくは他に良い方法などありますでしょうか。
0818nobodyさん2007/05/10(木) 02:30:02ID:???
>>817
?なんのために??
08198172007/05/10(木) 03:05:09ID:ucjeMPs6
>>818
GET引数に指定したURLをfile_get_contents()で読み取って、
中身を若干加工等して出力しようと考えてます。

イメージはこんな感じ。
http://www.hoge.com/index.php?url=http://www.piyo.com/

例として、以下のような「&」を含んだURLを引数にした場合に
「&」で区切られてしまい、file_get_contents()では
「&」の直前までのパスしか取得できません。

http://www.hoge.com/index.php?url=http://piyo.com/index.php?name=2ch&type=bbs
… echo $_GET['url']; の結果
 理想:http://piyo.com/index.php?name=2ch&type=bbs
 現実:http://piyo.com/index.php?name=2ch

これを、なんとか簡潔に解決できないかなと考えています。
0820nobodyさん2007/05/10(木) 03:18:49ID:???
>>819
どういう実装を想定してるのかわかんないけど。

?url=http%3A%2F%2Fpiyo.example.com%2Findex.php%3Fname%3D2ch%26type%3Dbbs
として渡す。

echo urldecode($_GET['url']); // 'http://piyo.example.com/index.php?name=2ch&type=bbs'
0821nobodyさん2007/05/10(木) 04:06:54ID:???
>>819
id出してるのは偉い!が説明が回りくどくて理解しにくいよ

print_r($_SERVER)してみれ
0822nobodyさん2007/05/10(木) 04:44:47ID:???
>>819
>>820に補足。自分でURLを生成する(a要素のhref属性値に埋め込むなどの)ような場合は、
urlencodeを使うといい。

urlencode('http://www.hoge.com/index.php?url=http://piyo.com/index.php?name=2ch&type=bbs')
→http%3A%2F%2Fwww.hoge.com%2Findex.php%3Furl%3Dhttp%3A%2F%2Fpiyo.com%2Findex.php%3Fname%3D2ch%26type%3Dbbs

これをurldecodeに通してみたらお望みのものが得られる。

もしもブラウザのGETメソッド経由のフォームで得るのであれば、
ブラウザがurlencode相当の処理をしてサーバにリクエストを投げてくるので、
それを適当に処理すればよろしい。
0823nobodyさん2007/05/10(木) 05:03:39ID:???
>>795
$string = "http://abc.com/とhttp://abcd.com/";;
$string = preg_replace('/(https?|ftp)(:\/\/[[:alnum:]\+\$\;\?\.%,!#~*\/:@&=_-]+)/', '<a href="\\1\\2">\\1\\2</a>', $string);
echo $string;
0824nobodyさん2007/05/10(木) 06:27:37ID:???
http://journal.mycom.co.jp/news/2007/05/08/008/
迅速なアップデートを! セキュリティ対策が施されたPHP 5.2.2/4.4.7リリース

アップデートが面倒くさいのですが
やはりアップデートすべきでしょうか?
0825nobodyさん2007/05/10(木) 06:36:04ID:???
そんなの使用目的による。
デバッグにしか使わないなら別にアップデートしなくていい。
0826nobodyさん2007/05/10(木) 10:36:30ID:???
>>795
FAQを読まない馬鹿はいらない子です。

>>824
MOPBで指摘された致命的なバグの修正版だから、
公開してるならアップデートしておかないとクラックされる可能性が高くなる。
0827nobodyさん2007/05/10(木) 11:11:27ID:???
0828nobodyさん2007/05/10(木) 12:03:12ID:p6e8Tgaw
昨日質問させてもらった>>751です。
やはりストリームをクローズしてしまうとフラグはクリアされてしまいます。
オープンしたままであれば維持されているのは確認できたのですが。
明示的にフラグを固定するような関数もないと思いますが
これが通常の動作ということなんでしょうか。

自分がこの質問で書き込みしたのは以下です。
>>751 >>744 >>759
0829nobodyさん2007/05/10(木) 12:32:25ID:???
通常の動作なんてものはない。
おまえが設定したとおり、おまえが書いたコードのとおりの結果が生まれるだけ
0830nobodyさん2007/05/10(木) 12:43:37ID:???
というか、お前が>>744みたいな、えらそうな奴様なのなら
imap_segflag_full関数マニュアルの
User Contributed Notesぐらい読んでこいよ。短い英語ぐらい読めるだろ?
08318282007/05/10(木) 13:00:45ID:p6e8Tgaw
>>829
デフォルトの動作って書けばよかったの?

>>830
レス番はタイプミスです。気づくと思ったんで。
でもありがとう。
0832nobodyさん2007/05/10(木) 13:47:49ID:AA4DnND/
あぱっちぇ2.0.59でPHPをうごかしたいんですが、RUBYと共存できますか?
0833nobodyさん2007/05/10(木) 13:50:58ID:???
Ruby使えるような人が何をアホなことを申しておられるのでしょう。
0834nobodyさん2007/05/10(木) 14:32:51ID:AA4DnND/
いや、これからぱそこんをはじめたんですけど
友達にRUBYやれっていわれて・・・
簡単だからできるっていわれたんですけどぼくはPHPがやりたいんです。
でもともだちにそのことを話したらPHPなんてやめろ!っていわれて・・・
RUBYとPHPが共存できれば友達が家にきたときごまかせるのでどうにかできないでしょうか?
0835nobodyさん2007/05/10(木) 14:38:55ID:???
自殺したほうがいいよ
0836nobodyさん2007/05/10(木) 14:57:44ID:???
そこまで顔色を気にしなきゃ付き合えないような相手が「友達」かどうか
考え直したほうがいいよ。
0837nobodyさん2007/05/10(木) 15:03:51ID:???
色んな意味で日本の心の病巣を感じるスレですね
083812007/05/10(木) 15:18:45ID:???
おれも質問していいかい?
0839虚弱PHP2007/05/10(木) 15:30:00ID:???
>>828
コマンドのやり取りをダンプしてみたらどうだろう?
通常のメーラーとかと比較。

>>832
できます。JavaともPerlとも…できます。
0840nobodyさん2007/05/10(木) 17:14:41ID:???
>>828
PHPコードよりむしろ、メールボックスをSELECTしたときのPermanentflagsの応答とか、
サーバ実装とか、他のIMAPクライアントで同じアカウントにログインしたときに、
問題のメールボックスに永続フラグが立てられるかをチェックしたら?

もうやってたらごめんよ。
0841nobodyさん2007/05/10(木) 18:10:19ID:AA4DnND/
すいません、phpでライブチャットはつくれますか?
0842nobodyさん2007/05/10(木) 18:22:02ID:???
あまりお勧めはしない
0843nobodyさん2007/05/10(木) 18:32:30ID:W08nRCtO
WindowsサーバでImageMagick使おうと考えています。
(http://jp2.php.net/manual/ja/ref.imagick.php)

http://jp2.php.net/downloads.php
からPECLのDLL落としてインストールし、
phpinfo()やextension_loaded()でImageMagickがロードされていることも確認できるのですが、
各関数を使おうとするとundefined functionと言われます。
念のためget_defined_functions()も見てみましたが、Imagick関数はありませんでした。
インストールしたImagickはバージョン2.0.0-alphaですが、リファレンスの関数は使えないんでしょうか?
どなたかご存知の方教えてください。

ちなみにApacheのバージョンは2.2、PHPは5.2.2です。
0844nobodyさん2007/05/10(木) 18:40:20ID:???
マルチ乙
0845nobodyさん2007/05/10(木) 19:55:34ID:???
いつも思うんだけど>>844みたいなやつって超うざいよね
知らないなら黙ってろっつーの
レスするのは知ってる人だけにしてね
0846nobodyさん2007/05/10(木) 20:02:30ID:wqFHIkoe
あなたみたいのもうざいですけどね。
0847nobodyさん2007/05/10(木) 20:27:26ID:Pz7PaIDg
画像でアクセスカウンターもどきを作っています。
それで調べつつ何となく画像の出力として

//index.htmlのカウンター表示用ソースとします。
<img src="counter.php">

//仮にcounter.phpのソースとします。
header("Content-type: image/gif");
readfile("0.gif");

みたいな感じで画像は表示できることは分かりました。
それなら、カウント値に応じて0.gifになっているところを桁数・数字にあった画像
にしていけば表示されるだろう、っと思っていたのですが、
この状態でどうやって複数の数字画像を結合してカウンターとして表示させる
のかが分かりません。readfileを複数追記すれば良いわけでもないし。。

なにかヒントを教えていただけないでしょうか?
0848nobodyさん2007/05/10(木) 20:35:42ID:???
GD使えばいいんじゃね?
08498472007/05/10(木) 20:39:12ID:???
>>848
GDって外部画像の結合出来るんですか?
今やってるのは、DBに登録されているカウント値を
GD生成して出力していますが・・。
0850nobodyさん2007/05/10(木) 20:51:29ID:???
php 画像連結で検索すればライブラリが出てくるのでは?
08518472007/05/10(木) 20:57:55ID:???
ありがとうございます。ライブラリを参考にしてみます。
0852nobodyさん2007/05/10(木) 21:30:14ID:gqRdAlOp
ccessで、サイトにアクセスしたらaccess.phpを実行するような設定ってできないのかな?
スクリプトですると、全ページにincludeしなきゃいけないよね
08538452007/05/10(木) 21:31:12ID:???
がたがたいってねえで調べて来いや人力検索ども!!
0854nobodyさん2007/05/10(木) 21:34:57ID:???
>>853
こちらへ移動よろ
http://life8.2ch.net/utu/
0855nobodyさん2007/05/10(木) 21:51:44ID:???
>>853
http://life8.2ch.net/test/read.cgi/yume/1178723880/

>>852
DirectoryIndex access.php
RedirectMatch 301 ^/. /

出された要件をそのまま書いたらこうなった。
0856nobodyさん2007/05/10(木) 22:33:33ID:gqRdAlOp
>>855
そのまま書いてクリックしたら
headerでリファラにLocationされたみたいにアクセスできないwwww
0857nobodyさん2007/05/10(木) 22:33:49ID:???
関数に複数の引数を渡して複数の戻り値を得たい場合


function hoge($a,$b){
return($a,$b);
}
とするとエラーになりますが、引数を配列にするしか無いですか?
0858nobodyさん2007/05/10(木) 22:39:06ID:???
return array($a, $b);
08598552007/05/10(木) 23:02:56ID:???
>>856
リダイレクトがループしますから。ていうか、ネタなので試さないでください。

期待してる動作が「全ページでinclude('access.php')と等価」だったら
mod_layout で調べてみて。あと、あなたも俺もスレ違い。
0860nobodyさん2007/05/10(木) 23:04:51ID:rnaMytAr
質問です、配列の中身をそのまま表示する方法ってありますか?
0861nobodyさん2007/05/10(木) 23:08:38ID:???
print_r
0862nobodyさん2007/05/10(木) 23:09:27ID:???
>>860
そのままってのがよくわからんが、
print_rとかvar_exportとかvar_dumpとかで構造を見ることはできる。
0863nobodyさん2007/05/10(木) 23:36:14ID:???
最近の人力検索はぐだぐだうるさいのが混ざってるな
黙って質問に答えるだけでいいのに・・・
0864nobodyさん2007/05/10(木) 23:38:24ID:???
>>863
全く持って同意
0865nobodyさん2007/05/10(木) 23:39:18ID:???
>>863
だな
0866nobodyさん2007/05/10(木) 23:57:31ID:???
自演組乙
0867nobodyさん2007/05/11(金) 00:00:32ID:???
昔から、人力検索にも回答者にもならずぐだぐだうるさいだけのは混ざってる
0868nobodyさん2007/05/11(金) 00:26:20ID:???
お前みたいなやつのことだな
0869nobodyさん2007/05/11(金) 00:32:02ID:???
このスレの8割がそうだな
0870nobodyさん2007/05/11(金) 00:44:42ID:???
どうしたん?
流したいレスがあるん?
0871nobodyさん2007/05/11(金) 00:49:16ID:???
今日は大漁ですね
0872nobodyさん2007/05/11(金) 00:51:35ID:???
どうして「>>843です。どなたか回答かアドバイスをお願いできませんか」と書けないんだろう。
08738432007/05/11(金) 00:53:44ID:x3XoGdaG
一応言っときますが私は843の他に書き込んでません。
ちなみにマルチでもありません。他のどこに書いているのか教えてほしいくらいです。
0874nobodyさん2007/05/11(金) 00:56:24ID:???
今年始まって以来の勘違い野郎だなおまえ
0875nobodyさん2007/05/11(金) 04:41:54ID:uio3xUyZ
セキュリティ対策で質問があります。

誰もがURL(自動判定)、文字列などを投稿できるサイトで
アダルトサイトなどの宣伝スパム、海外からのスパムや連続投稿などに対する有効な対策にはどのようなものがあるんでしょうか?

半角のみは禁止、連続投稿には間隔制限を設ける、リンクに飛ぶ前には確認ページを割り込ませる などは
思いつくのですが、日本語含む荒しやアダルトサイトのスパムは、やはり削除人による手作業での削除+アク禁しかないのでしょうか?
0876nobodyさん2007/05/11(金) 05:05:05ID:???
>>875
captcha
0877虚弱PHP2007/05/11(金) 09:10:52ID:???
>>855
全ページにインクルードでいいなら、
http://www.php.net/manual/ja/ini.core.php#ini.auto-prepend-file
でできるらしいよ。
0878nobodyさん2007/05/11(金) 14:07:48ID:???
>>875
captchaはユーザ側の負担が高くなるから考えもの。
それらの対策+海外からの投稿遮断+プロキシ遮断。
これだけやれば海外国内からのスパムもほぼなくなる。
あとメジャーなスパム業者はあちこちでリスト化されてるんで、
それを使用してアクセス禁止にしたりする。
0879nobodyさん2007/05/11(金) 14:09:24ID:H2TAWwyN
HTMLとJSとPHPでページを作ろうとしてます。

HTMLでonClick→JSファイルでphpファイルを読み込む→phpで処理→HTMLに表示

ってな流れにしたいわけですがどうも上手くいきません。

JSファイル
function test() {
<script type="text/javascript" src="test.php"></script>
/* ここに document.write("aaa"); って書き込んだ場合は普通に処理された */
}

phpファイル test.php
<?php
header("Content-type: application/x-javascript");
echo "document.write('aaa')";
?>

これだと表示されませんでした。
0880nobodyさん2007/05/11(金) 14:18:41ID:???
そりゃサーバーサイドスクリプトだからな・・・
0881nobodyさん2007/05/11(金) 14:22:33ID:???
>>879
Ajaxでおk
0882nobodyさん2007/05/11(金) 14:26:30ID:???
AjaxってDBと連携できたっけ?
0883nobodyさん2007/05/11(金) 14:27:12ID:H2TAWwyN
>>881
ありがとうございます。
Ajaxの方で聞いてきます。
■ このスレッドは過去ログ倉庫に格納されています