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

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

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001nobodyさん2006/04/09(日) 01:31:18ID:???
PHPに関するくだらねぇ質問用スレです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。

まず読め【PHP マニュアル】
http://www.php.net/manual/ja/

本スレ【PHP】質問スレッドpart33【php】
http://pc8.2ch.net/test/read.cgi/php/1140027592/

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

過去スレは>>2-3あたり
0821nobodyさん2006/04/24(月) 01:03:19ID:???
Bカップ??
0822nobodyさん2006/04/24(月) 01:23:12ID:???
池沼だろ
0823nobodyさん2006/04/24(月) 02:14:46ID:???
すっげぇ下らない質問なんだけど

質問1.
Windows上(apache)でPHP動かしたい場合は
あるいはプロバイダの鯖上でPHPを埋め込みたい場合、
Windows Binariesってのをダウソすればいいんですかね?

質問2.
Perlのが優れてる点って何?
0824nobodyさん2006/04/24(月) 04:10:24ID:???
>>823
質問1
・Windows上(apache)でPHP動かしたい場合
・プロバイダの鯖上でPHPを埋め込みたい場合
この2つを並列にしている時点で意味が分からない。帰れ。

質問2
Perl VS PHP
http://pc8.2ch.net/test/read.cgi/php/982591467/
0825nobodyさん2006/04/24(月) 06:30:33ID:???
requireとincludeの違いって、何なのでしょうか。
マニュアルを読んだのですが何度読んでもよく理解できませんでした。
誰か分かりやすく解説してもらえませんか。
0826nobodyさん2006/04/24(月) 06:50:12ID:???
すみません、早朝から質問なのですが
AAA.php
BBB.php
というファイルがあって

AAA.phpの処理後にBBB.phpをそのまま起動させたいときは
どう命令したらいいですか?
0827nobodyさん2006/04/24(月) 07:47:25ID:???
>>825
読み込めなかったら中止にするか読み込めなくてもそのまま。
0828nobodyさん2006/04/24(月) 08:29:46ID:???
>>748
俺ならこうする
$birth = '2006年4月22日';
list($birth1,$birth2,$birth3) = sscanf($birth, "%d年%d月%d日");
0829nobodyさん2006/04/24(月) 08:39:10ID:???
>>826
include or Location
0830nobodyさん2006/04/24(月) 08:41:05ID:???
sscanf()なんてあったんだね
0831nobodyさん2006/04/24(月) 11:36:16ID:???
サーバーにPHPがインストールされているのか、
されていないのか、って
どうやって調べるんですか?
0832nobodyさん2006/04/24(月) 11:47:50ID:???
>>831
俺はコマンドラインでphp -vって叩いて確認してる。
0833nobodyさん2006/04/24(月) 11:55:33ID:???
>>831
管理者に聞く
0834nobodyさん2006/04/24(月) 14:59:43ID:???
会員式のログイン・ログアウトサイトを作っています。
SESSIONを使ってログインし、ログアウトする時はunset($_SESSION['name']);
などとしているのですが、たまにログアウトしきれない時があります。(ページが残る)

完全にセッションの内容を消去するには、どのように書けばいいのでしょうか?
0835nobodyさん2006/04/24(月) 15:02:44ID:???
>>834
ttp://jp.php.net/manual/ja/function.session-destroy.php
0836nobodyさん2006/04/24(月) 15:13:23ID:???
>>831
phpinfoを使うってのはアリじゃない?
0837nobodyさん2006/04/24(月) 15:17:53ID:???
Webページ丸ごと読込んでデータとして扱う方法ないですか?
0838nobodyさん2006/04/24(月) 16:08:50ID:???
>>837
方法あるよ
右クリック→ソースの表示→全て選択→コピー
をしてPHPの変数(引数)に代入してファイル保存してFTPアップロード。

リアルタイムにどこかのサイトを読み込み表示したいのなら
上記の作業を素早くやり続ければOK

コツとしては、全て選択は[Ctrl+A]、コピー[Ctrl+C]、貼り付け[Ctrl+V] を駆使する
0839nobodyさん2006/04/24(月) 16:50:25ID:???
バッククオートの中に変数を入れるためにはどう記述すればいいでしょうか?

例 $hoge = `ls -l $dir`;
0840nobodyさん2006/04/24(月) 17:08:20ID:???
>>839
バッククォートで括らない


ってか、何故バッククォート?
0841nobodyさん2006/04/24(月) 17:19:22ID:???
>>839
普通に出来たよー?
シェルの環境変数ってこと?

>>840
実行演算子
08428372006/04/24(月) 18:15:36ID:???
>>838
ありがとうございました!(,;:´゚;∀;゚, )
0843nobodyさん2006/04/24(月) 18:41:32ID:???
アクセスした日によって違うページに飛ばせたいと思っています。

2006/04/24にアクセスしたら
<a href="http://hogehoge.com/20060424">本日の予定</a>
2006/04/25にアクセスしたら
<a href="http://hogehoge.com/20060425">本日の予定</a>
となるようにしたいのです。

どのように記述すればいいですか?
ちなみに鯖のPHPは4.3.2で動いています。
0844nobodyさん2006/04/24(月) 18:53:53ID:???
>>843
俺だったら、date()の結果をif()で比較演算子を用いて比較し、header()でLocationを
生成して飛ばすかな。
0845nobodyさん2006/04/24(月) 18:56:52ID:???
>>843
<a href="http://example.com/<;?php echo date("Ymd") ?>">本日の予定</a>
0846nobodyさん2006/04/24(月) 18:57:45ID:???
ぬを
>>843
<a href="http://example.com/<?php echo date("Ymd") ?>">本日の予定</a>
08478442006/04/24(月) 18:58:33ID:???
飛ばすって…リンクは飛びませんけど?
それはユーザエージェントの動作を言ってるんじゃん…

それならdate()の結果をそのまま出力すればよかと。
0848nobodyさん2006/04/24(月) 19:25:42ID:???
いくつかパターンはあるものの
phpスクリプトの書き始めに<?phpで始まり?>で書き終わるものだと思っていましたが
最近見たスクリプトで、<?phpでの書き出しはあったのに
?>が無いものがありました。

私には理解ができなかったのですが、正常に動作していましたし、
以上も発見されませんでした。

これは、どういうことなのでしょうか?
必ずしも<?phpで始まったものが、?>で終わる必要はないということなのでしょうか?
0849nobodyさん2006/04/24(月) 19:26:35ID:???
いくつかパターンはあるものの
phpスクリプトの書き始めに<?phpで始まり?>で書き終わるものだと思っていましたが
最近見たスクリプトで、<?phpでの書き出しはあったのに
?>が無いものがありました。

私には理解ができなかったのですが、正常に動作していましたし、
以上も発見されませんでした。

これは、どういうことなのでしょうか?
必ずしも<?phpで始まったものが、?>で終わる必要はないということなのでしょうか?
0850nobodyさん2006/04/24(月) 19:34:21ID:???
>>849
マニュアルによると、
「ファイル終端におけるPHPブロックの終了タグはオプション(任意)です」ってことだ。
0851nobodyさん2006/04/24(月) 19:45:00ID:???
でも気持悪いな。
0852nobodyさん2006/04/24(月) 20:38:52ID:???
漏れは、

#!/usr/local/bin/php

header("Content-Type: text/html");

print <<<EOF
<!DOCTYPE 〜>
<html lang="ja">

EOF;

exit;

こう書くけどな。
0853nobodyさん2006/04/24(月) 20:45:24ID:???
>>852
それはそれでOKなんじゃないかなと思いますよ。
ただ、
<?php
〜

で終わっていて、何だかすっきりしないし
これでいいのか?!って思ったので聞いてみました。
0854nobodyさん2006/04/24(月) 20:46:55ID:???
>850
そうなんですね!
親切に調べてくれてありがとうございました。
0855nobodyさん2006/04/24(月) 23:38:00ID:UzNg/65t
ブログの静的ページを作ろうと思いPHPを勉強してるんですが、わからない事がでてきました。
PHPで出てきた結果をHTMLとして出力できないでしょうか?
例えば

<?PHP $x=100; ?>
静的ブログが<?PHP echo $x ?>回ぐらいつくりたいよ〜<br>

みたいなPHPがあって、それを実行したら
HTMLファイルにそのまま

静的ブログが100回ぐらいつくりたいよ〜<br>

と出力したいのですが、むりでしょうか?
0856nobodyさん2006/04/24(月) 23:44:10ID:???
>>855
意味がわからん。
「<br>」をそのまま出力したいってこと?
0857nobodyさん2006/04/24(月) 23:58:28ID:???
「HTMLとして(ブラウザに)出力」なのか、「HTMLファイルに(書き出す)」なのか良く分からんが、
htmlファイルに書き込みたいのなら、
「出力制御関数」と「出力制御関数」あたりを使えば楽なんじゃないかな。

<?php ob_start(); ?>
<?PHP $x=100; ?>
静的ブログが<?PHP echo $x ?>回ぐらいつくりたいよ〜<br>
<?php
$a = ob_get_contents();
$fp = fopen("a.html","a");
fwrite($fp,$a);
fclose($fp);
?>
0858nobodyさん2006/04/24(月) 23:59:47ID:UzNg/65t
>>856
<br>に限ったことではないのですが
例えば「make.php」が

<?PHP $x=100; ?>
静的ブログが<?PHP echo $x ?>回ぐらいつくりたいよ〜<br>

で
「index.html」に出力を出して、内容が

静的ブログが100回ぐらいつくりたいよ〜<br>

見たいな感じにならないかなぁ〜って思って。
動的PHPから静的HTMLを作ってほしいんです。
0859nobodyさん2006/04/25(火) 00:05:14ID:???
>>858
だったら>>857の方法でいいと思うけど。
0860nobodyさん2006/04/25(火) 00:08:36ID:33LQjSvo
>>857
ありがとうございます!!
解決しました!!
0861nobodyさん2006/04/25(火) 00:48:38ID:???
PHPスクリプトで携帯宛にメールを送る時の
エンコーディング(文字コード?)の種類を教えてもらえませんか?
0862nobodyさん2006/04/25(火) 00:54:16ID:???
キャリアごとに違うのでは?
たしか、EUCではなかった様な気がするゾナもし
0863nobodyさん2006/04/25(火) 01:28:14ID:???
メールなんだからjisでいいんじゃまいか?
だめだったの?
0864nobodyさん2006/04/25(火) 01:32:56ID:???
配列に数字が入っています。
array(1, 2, 3, 4);

それらを一つずつ足していきたいのですが、方法が分かりません。

やりたいことは1+2+3+4ということです。

どういう関数を使えばいいか教えて下さい。
0865nobodyさん2006/04/25(火) 01:49:30ID:???
>>864
お前・・・それは関数どうの以前の問題ジャマイカ・・・?

とりあえず配列の要素数(上の例では4つだな)を何とか取得する。
で、配列の一番左、もしくは右から順に足していくんだ!
0866nobodyさん2006/04/25(火) 02:23:53ID:???
$array = array(1, 2, 3, 4);
$sum = 0;
foreach ($array as $num) $sum += $num;
0867nobodyさん2006/04/25(火) 03:54:07ID:???
$array = array(1, 2, 3, 4);
$sum = array_sum($array);
0868nobodyさん2006/04/25(火) 07:32:45ID:???
>>865
お前PHPをなめてるな
0869nobodyさん2006/04/25(火) 07:47:48ID:???
RSSが更新されたらメール送信するようなスクリプトって作れますか?
0870nobodyさん2006/04/25(火) 08:50:24ID:???
>>869
「一定時間毎にRSSの更新をチェックして
 更新されていたらメール送信する」
であれば可能。
0871nobodyさん2006/04/25(火) 15:34:44ID:???
>>869
「RSSを更新する際にメールを送信する」
でも可能。
0872nobodyさん2006/04/25(火) 15:43:13ID:???
レスありがとうございます。
>>870
どのような関数でどんな流れでするのでしょうか?
>>871
受信側なので、それはちょっと…
0873nobodyさん2006/04/25(火) 15:45:37ID:???
>>872
pearつかってRSSのURL GETして、XMLパースして、
時間チェックして、前回のチェック時時より新しければ
必要に応じたメールを送信。
0874nobodyさん2006/04/25(火) 15:52:13ID:???
>>872
http://pear.php.net/manual/ja/package.xml.xml-rss.php
http://pear.php.net/manual/ja/package.mail.mail.php

前回チェック時の更新時刻の保存は
DBなりファイルに保存するなり、決めうちでチェック間隔以内
にするなりすきにしれ。
0875nobodyさん2006/04/25(火) 19:46:57ID:???
Last-Modified吐いてくれたらいいのにね。
0876nobodyさん2006/04/25(火) 20:11:19ID:YuLHBMcs
→   全空白

を置換したく、

$file = str_replace(" ","", $file);

でやってみたのですがうまくいきません、
ほかに方法ありませんか?
0877nobodyさん2006/04/25(火) 20:20:02ID:???
>>876
&andheart;
0878nobodyさん2006/04/25(火) 20:27:12ID:???
&heart;
0879nobodyさん2006/04/25(火) 20:29:08ID:???
DBからデータ持ってくるときに、いちいち
tryするのか?もまえらは

ちなみにphp4のひとは無視してくだちい。
0880nobodyさん2006/04/25(火) 21:31:28ID:???
>>879
死ねゴミ
0881nobodyさん2006/04/25(火) 22:19:05ID:???
>>870
これってページにアクセスしなくてもできるの?どうやって?
0882あぼーんNGNG
あぼーん
0883ぬる2006/04/25(火) 22:37:49ID:???
http://example.com/test.php/foo.bar
とアクセスしたとき、
http://example.com/ に相当する部分の文字列を取得したいけど
どうしたらいい?

PHP_SELF や REQUEST_URI や SCRIPT_NAME だと
そこが丸々削られてて、途方にくれた
0884nobodyさん2006/04/25(火) 22:38:25ID:S1Of8zqn
http://g.pic.to/27ckf
0885nobodyさん2006/04/25(火) 22:50:19ID:1JYLmc+t
host
0886nobodyさん2006/04/25(火) 22:52:58ID:???
$_SERVER[HTTP_HOST]
ぐらいしかひとまず思いつかん
0887nobodyさん2006/04/26(水) 00:07:22ID:???
>>873-874
ありがとうございます。とりあえず更新しているかどうかのチェックと、XML_RSSの使い方はわかったんですが、
いちいちページにアクセスしないでスクリプトを開始させる方法はありませんかね?
毎回アクセスするならあまり意味が…
0888nobodyさん2006/04/26(水) 00:51:31ID:???
php cliで書くとか
前はcron で wgetするなんて事もしていたな・・
0889nobodyさん2006/04/26(水) 00:56:20ID:???
>>887
cronで一定時間ごとに実行
0890nobodyさん2006/04/26(水) 01:44:28ID:???
PHPの正規表現で
「検索: 17件中1〜10件を表示」
の「17」だけを取りたいんですが何てかけばおkなの?
0891nobodyさん2006/04/26(水) 01:50:59ID:???
>>890
正規表現スレで聞いてきなさい
0892nobodyさん2006/04/26(水) 01:58:58ID:???
cronでphpを起動ってよく聞くけど具体的な書き方が載ってるサイトがない
0893nobodyさん2006/04/26(水) 02:58:36ID:???
cronで
wget http://example.com/hoge.php
とか
php hoge.php
って事でしょ
0894nobodyさん2006/04/26(水) 03:39:46ID:???
>>892
そりゃcronって時間指定の他はコマンドラインでプログラム実行するのと
そのまま同じに書くだけだもの。
そんなのに具体的解説を求めるのは
「先生!マウスでクリックって何のことか分かりません!」
と言うのと同じくらい厨な話かと。
0895nobodyさん2006/04/26(水) 03:58:34ID:???
まさかcronの使い方教えろって言ってるわけじゃないよな・・
08966122006/04/26(水) 04:07:26ID:gSi6TGNs
前回の質問の続きなのですが、
例えば
<?php
phpinfo();
?>
というスクリプトがあるとして、このスクリプトに直接手を加えて1分ごとに1回起動させるためには
どう手を加えたら良いのでしょうか?
0897nobodyさん2006/04/26(水) 04:32:18ID:???
sleep

cron等を使ったほうがいいと思う
スクリプト動きっぱなしは負荷高そうじゃない?
0898nobodyさん2006/04/26(水) 07:26:07ID:???
>>897
sleepだとmax_execution_time で終了(デフォは30秒)
0899nobodyさん2006/04/26(水) 09:54:52ID:???
>>887
定期実行の方法くらい学べよ。
スクリプト系言語の基本だろ。
0900nobodyさん2006/04/26(水) 09:56:46ID:???
なんだcron厨ばかりか。
お前らWindows環境でタスクスケジューラでもつかったらどうだ。
0901nobodyさん2006/04/26(水) 10:03:53ID:???
>>900
タスクスケジューラが移植されてから考える。
つかWindowsでもatはあるよな。
0902nobodyさん2006/04/26(水) 10:04:48ID:???
いや確かに普段使ってるけど
0903nobodyさん2006/04/26(水) 10:24:51ID:???
>>896
つ[ */1 * * * * php phpinfo.php ]
0904nobodyさん2006/04/26(水) 11:29:30ID:???
$hogeにある文字列が入っていたら、○○を出力

っていうのがしたいのですが、IFで出来ると思うのですが、どうもうまくいきません・・。
文字の比較?かなにかだと思うのですが・・。アドバイス願います。
0905nobodyさん2006/04/26(水) 11:38:04ID:???
>>904
>>347-
0906nobodyさん2006/04/26(水) 11:39:07ID:???
ちょっとちがうか。ま、strposと組み合わせてうまいことやれ。
09079042006/04/26(水) 11:54:02ID:???
>>906
これで出来ました!ありがとうございました。
<?
if(strpos($hoge,"test")){
echo"これはテストです";
}else{
echo"これはテストではありません";
}
?>
0908nobodyさん2006/04/26(水) 11:58:28ID:???
>>904
if(strstr($hoge, 'ある文字列')) echo '○○';
0909nobodyさん2006/04/26(水) 12:22:14ID:???
>>907
それだと$hogeがtestで始まる場合に動かない
0910nobodyさん2006/04/26(水) 12:47:45ID:???
>>908
注意: もし特定の haystack に needle があるかどうかを調べるだけの場合、 より早く少ないメモリを使用する strpos() を代わりに使用してください。
>>907
if(strpos($hoge,"test") !== false)
0911nobodyさん2006/04/26(水) 13:30:05ID:???
だから>>304-を参考にしろというのに…w
0912nobodyさん2006/04/26(水) 13:30:21ID:???
>>347か orz
0913nobodyさん2006/04/26(水) 16:46:41ID:???
文字列が含まれているか確認するだけなら
if(strpos($hoge,"test") !== false)をつかったほうがよさそうだな
正規表現なくてもpreg_match使ってた
0914nobodyさん2006/04/26(水) 17:02:23ID:???
いや基本ですよ
0915nobodyさん2006/04/26(水) 17:15:00ID:???
>>914 すみません
0916nobodyさん2006/04/26(水) 18:48:39ID:???
連想配列で、

$a["nurupo"]=4;

とする場合は分かったんですが

$b="nurupo";
$a[$b]=4;

とするとエラーになるんですが、どうやったら使えますか?
ほんとにしょうもない質問ですが、連想配列でぐぐっても、答えになるサイトが見つからなかったんで
よろしくおねがいします。
0917nobodyさん2006/04/26(水) 19:00:35ID:gSi6TGNs
test.txtから先頭の1行のみを読み込むには

$handle = @fopen("test.txt", "r");
if ($handle) {
while (!feof($handle)) {
$buffer = fgets($handle);
echo $buffer;
}
fclose($handle);

をどうすれば良いですか?
0918nobodyさん2006/04/26(水) 19:07:38ID:???
あの、>>882が気になるんですけど。。
0919nobodyさん2006/04/26(水) 19:54:43ID:gSi6TGNs
それは
あぼーん
ですよ
0920nobodyさん2006/04/26(水) 19:57:49ID:???
スクリプトの一番最後の ?> がエラーになることってあるんですか。
実際にエラーになってるんですが、何ですかコレ。
レス数が900を超えています。1000を超えると表示できなくなるよ。