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

【PHP】質問スレッドpart16【php】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん04/04/07 01:06ID:HTcWOpWf
PHP全般の質問スレです。
上級者用や雑談スレを立てたくなった場合は後から適宜立ててください。

■本家
 http://www.php.net/

■日本 PHP ユーザ会
 http://www.php.gr.jp/

■PHP マニュアル
 http://www.php.net/manual/ja/

■PEAR マニュアル
 http://pear.php.net/manual/ja/

過去スレ, 関連スレ及び注意事項等は、 あふぉが居なけりゃ>>2-5
0455nobodyさん04/04/27 21:56ID:???
>>454
http://ahya.org/aiueo/?a=1mode=all&exec=true

echo $_SERVER['QUERY_STRING']; //a=1mode=all&exec=true
echo $_REQUEST['a']; //1
echo $_REQUEST['mode']; //all
echo $_REQUEST['exec']; //true

$_REQUESTはGET,POSTどちらのメソッドの場合でもおk
$_GETはGETの時のみね
$_POSTはPOST〃
0456nobodyさん04/04/27 22:04ID:???
>455
折角URLまで書いていただいてありがたいのですが404ですた…。
正直説明するのも骨が折れると思われるので、誘導して頂けません?
0457nobodyさん04/04/27 22:04ID:???
>>455
echo $_REQUEST['a']; //1mode=all
と、揚げ足とってみるテスト
0458nobodyさん04/04/27 22:04ID:+FvBbqtX
>>453
 出力が出ないです。空白のままのようです。
 ちなみに、includeではtest.cgiのテキストが表示されました。
0459nobodyさん04/04/27 22:06ID:???
>>456
もまえは、>>455にあるURLをそのまま踏んだのか?
0460nobodyさん04/04/27 22:06ID:???
>>456
いや・・・
”例え”だよ
しかもphp省略しちゃって分かりにくかったかな

http://ahya.org/aiueo/test.php?a=1&mode=all&exec=true

test.php
<?php
echo $_SERVER['QUERY_STRING']; //a=1mode=all&exec=true
echo $_REQUEST['a']; //1
echo $_REQUEST['mode']; //all
echo $_REQUEST['exec']; //true

?>

>>457
&忘れてた、、スマソ
0461nobodyさん04/04/27 22:09ID:???
>>458
echo system("/usr/bin/perl test.cgi");
0462nobodyさん04/04/27 22:18ID:+FvBbqtX
<?php echo system("/usr/bin/perl test.cgi");?>
<?php system("/usr/bin/perl test.cgi");?>

なにもでないです。。゜゜(>ヘ<)゜ ゜。ビエェーン
0463nobodyさん04/04/27 22:21ID:+FvBbqtX
<?php header("Locatin:http//・・・/test.cgi");?>
では、新しいウィンドウ開いちゃいます。。。
0464nobodyさん04/04/27 22:22ID:???
>>462
そもそもperlのパスは/usr/bin/perlであってるの?
046546204/04/27 22:23ID:+FvBbqtX
http//・・・/test.cgi では動きます
0466nobodyさん04/04/27 22:24ID:???
>>462
あ、別にechoはいらんのか。
で、perlのパスは/usr/bin/perlでいいのか?
046746204/04/27 22:28ID:+FvBbqtX
/usr/bin/perlです。涙。
test.cgiにも書かれてます
0468nobodyさん04/04/27 22:29ID:???
test.cgiは呼び出し元のPHPと同じディレクトリ?
0469nobodyさん04/04/27 22:30ID:???
>>467
passthru("/usr/bin/perl test.cgi");
ならどぉよ。
0470nobodyさん04/04/27 23:42ID:???
safe-modeでシステム関数ってエラーも何も出ないんじゃなかったっけ?
0471nobodyさん04/04/28 00:50ID:???
>>456
とりあえずこの辺読んどけ
ttp://jp.php.net/manual/ja/tutorial.forms.php
047246704/04/28 04:29ID:GhugZwA8
出来ました。
私の環境ではシステム関数は使えないようでした。
あきらめ掛けたのですが、やれました。
参考にしてください。

table 内で直接perl-cgiを呼ぶのではなく
一度、phpファイルをかませたら出来ました!

<table><tr><td>
<?php include "test.php";?>
</td></tr></table>

test.phpは
<?
require("http://・・・・・/test.cgi";?>
047346704/04/28 04:30ID:GhugZwA8
出来ました。
私の環境ではシステム関数は使えないようでした。
あきらめ掛けたのですが、やれました。
参考にしてください。

table 内で直接perl-cgiを呼ぶのではなく
一度、phpファイルをかませたら出来ました!

<table><tr><td>
<?php include "test.php";?>
</td></tr></table>

test.phpは
<?
require("http://・・・・・/test.cgi");
?>
0474nobodyさん04/04/28 14:09ID:???
16進を10進に変換するにはどうしたらいいですか?
0475nobodyさん04/04/28 14:15ID:???
>474
http://www.google.co.jp/search?hl=ja&ie=UTF-8&q=php+16%E9%80%B2+10%E9%80%B2+%E5%A4%89%E6%8F%9B&lr=
0476nobodyさん04/04/28 17:12ID:???
>>475
中途半端に教えるのやめれ。
>>474
http://jp.php.net/manual/ja/function.hexdec.php
hexdec関数。
0477nobodyさん04/04/28 18:05ID:???
>>476
そうやって甘やかすのもどうかと思うんだが
技術屋ならテメエで調べる癖付けろっての
0478nobodyさん04/04/28 21:42ID:???
ヒアドキュメント内で連想配列って使えないの?
0479nobodyさん04/04/28 23:14ID:???
これで OK.

echo <<END_OF_RES
{$ahya['goruxa']}
{$nullpo->gaxtu}
END_OF_RES
0480nobodyさん04/04/29 00:41ID:???
>>479
サンクス!!
0481nobodyさん04/04/29 13:22ID:???
みんなヒアドキュメントの
print<<<HOGE←ここってどうしてる?
俺はEODにしてるがEOM,EOCとかもあるし。EOFはなんか違う気がするが。
0482nobodyさん04/04/29 13:36ID:???
>>481
別になんでもいいんじゃない?
HEADERでもFOTTERでも好きなもの使えば。
0483nobodyさん04/04/29 13:39ID:???
END_OF_HTML
で統一してマス。EOH とかだけだとなんか短すぎて不安。
0484nobodyさん04/04/29 13:39ID:???
EOD = End of Document?これがいちばん理にかなってるな。
0485nobodyさん04/04/29 14:06ID:???
>481
俺は、echo<<<HTML
HTMLくらしかヒアドキュメントに書かねーし。

つうか、EclipseM6(まだM8にしてない)が、
<<<Hまで打ったとこで激しく重くなって死にはしないんだけど、
エラー吐いて、HTML打ち終わるまで激重になるのが鬱。

M8で改善されてるのかな・・・
0486nobodyさん04/04/29 14:07ID:???
echo <<<OTL
0487nobodyさん04/04/29 14:13ID:???
ちょっと目立つように __EOD__ だったかな。
smarty等テンプレート使うようになってヒヤドキュメントは
全然使わなくなったけど。

>>486
ワロタ エラー時の出力部分にはいいかもしんない。
0488nobodyさん04/04/29 14:14ID:???
echo <<<orz
0489nobodyさん04/04/29 14:25ID:nRyNoo3z
質問です。
「ice001」とか「straight002」と言う文字の数字の部分を
取り除いて「ice」「straight」としたいのですがどのようにすれば
よいのでしょうか?
0490nobodyさん04/04/29 14:42ID:???
>489
001とか002が3桁固定なのであれば、
$string_and_number = "ice001";
$string_only = substr($str, 0, -3);
0491nobodyさん04/04/29 14:50ID:???
>>488
大文字にしないと見分けづらいorz
0492nobodyさん04/04/29 14:52ID:???
preg_replace("/\d/","","straight002");
0493nobodyさん04/04/29 15:53ID:???
>>490
>>492
サンクス。できました。
0494nobodyさん04/04/29 16:42ID:???
ローカル環境へのインストールに関する質問はここでいいですか?

使用OS WinXP
Apache 1.3.29
PHP 4.3.6

httpd.confに
LoadModule php4_module C:/php/sapi/php4apache2.dll
これを書いてもApache起動時に

cannot load C:/php/sapi/php4apache2.dll into server:(126)指定したモジュールがみつかりません

上記のように出てきて、apacheが起動できません。
「C:/php/sapi/php4apache2.dll」自体は、ブラウザにコピペして存在を確認しています。

もちろん、LoadModuleをコメントアウトするとApacheは動きますが、
PHPを動かすことはできません。

どうすればよろしいでしょうか…
0495nobodyさん04/04/29 16:46ID:???
なんでApache 1.3.29なのにphp4apache2.dllなんだよ。
あとApache1だとAddModuleも必要じゃなかったっけ?
0496nobodyさん04/04/29 16:56ID:???
マニュアルをよく読んでないからこういうつまらんミスするんだな
0497nobodyさん04/04/29 17:23ID:???
>>495-496
すみません、Apache1じゃなくて2を入れなおして設定しなおしたらうまくいきました。

ありがとうございます。


クソ質問してごめんなさい、100回くらい吊ってきます…
0498nobodyさん04/04/29 19:24ID:???
>>497
一回吊れば十分だけど、確実にな
0499nobodyさん04/04/29 21:37ID:???
echo <<<BAKAHA_IRANEw
0500nobodyさん04/04/29 21:56ID:???
単純な質問で失礼します。
文字列検索に使える関数と言えば
strposとかstrstrとか色々ありますよね。

で、ある文字列の中に任意の文字列が含まれているかどうか、ということだけを調べるのが目的の場合、
一番速い関数って何なんでしょうか?
0501nobodyさん04/04/29 21:58ID:???
>>500
そんなのは自分でベンチマーク取りなさいな
0502nobodyさん04/04/29 22:01ID:???
>>500
先ずはどこまで(どのパターンについては)試したの?>速度
050350004/04/29 22:09ID:???
いや、試してません。
っていうか、マニュアルで、文字列が含まれてるか否か、という関数を探してたらみつからなかったんで、
どこにあるんだろう、と。

最初に見つかった位置を返す、とかばっかりで、そんな丁寧なことしてくれちゃってる間に、
速度が落ちてるんじゃないかと心配で。

もしかして、文字列が含まれてるか否か、だけを調べる関数ってないんでしょうか?
もしないんだったら、こういう場合は普通みなさんはどの関数を使ってらっしゃるんでしょうか。

一般的なお答えで結構です。
ちゃんと説明するとちょっと質問の方向がズレちゃってすみません。
0504nobodyさん04/04/29 22:13ID:???
>>500
被ったついでに
http://www.php.net/manual/ja/function.microtime.php
スクリプト中は何回か回して、またスクリプトも何度か動かして
平均とらなきゃ駄目だよ。
0505nobodyさん04/04/29 22:17ID:???
初心者ですが該当スレがないようなのでここで質問させてください。
explodeで区切り文字に指定したい文字が二つ以上だったらどうすればいいんでしょうか。

explodeで出来た配列の一つ一つに再びexplodeをかけていって、
できあがった全ての配列を一つの配列に代入する、といった手順を踏めばできそうですが、
もっと簡単な方法があれば…。
よろしくおねがいします。
0506nobodyさん04/04/29 22:17ID:???
テキストファイルを丸ごと読み込む際にfopen()して一行ずつfgetsで取得していくのと
一気にfile()で読み込むのとではどっちが負荷・信頼性の面で良いのでしょうか?
0507nobodyさん04/04/29 22:19ID:???
>>503
文字列を探す時にアルゴリズムの"副産物"で
見つかった位置が得られるんだよ。<strpos
まあ普通でも使うから値も返してるのだけど。
0508nobodyさん04/04/29 22:21ID:???
>506
一般的に後者。
マニュアルくらい読め
0509nobodyさん04/04/29 22:22ID:???
>>505
split/spliti
0510nobodyさん04/04/29 22:27ID:???
>>505
print_r(split('[_-]', "abc_de-f-g_hijk-l"));
051150004/04/29 22:30ID:???
>>507
ああ、副産物ですか、そういわれるとなんかちょっと安心です。
strpos使ってみます。
0512nobodyさん04/04/29 23:33ID:???
>>511
自前で"1a345abc9"という文字列から"ab"という文字列を
検索する「ベタな」アルゴリズム作ってみれば判る。
(マルチバイトは取り合えず考慮しないで)
0513nobodyさん04/04/29 23:47ID:???
まぁ。なんだ。見つかった場所を返してくれなきゃ、
if(str_exist()){ strpos()云々 } (str_exists : 文字が見つかったらtrueを返す超絶便利関数)
って感じで同じ文字列を二度も走査することになるからなぁ。
0514nobodyさん04/04/30 10:51ID:acYJBbCx
すいません、ちょいと嵌ってしまったんで、聞きたいんですけど、
以下スクリプトの「この部分」って所が多重でログに残るんですよ。
$logFileNameが10行あれば、何故か10回書き込まれてしまう。

なんかマズイ書き方してます?

 $line = file ($logFileName);

 $fp = fopen ($logFileName, "wb");
  flock ($fp, LOCK_EX);
   fputs ($fp, $dat); // この部分
   foreach ($line as $value){
    fputs ($fp, $value);
   }
  flock ($fp, LOCK_UN);
 fclose ($fp);

レン鯖環境
PHP 4.3.6
Apache 1.3.29
Redhat Linux 7.0

自宅鯖環境
PHP 4.3.1
Apache 1.3.24
Win98 SE
0515nobodyさん04/04/30 11:20ID:wgal4sz4
クライアントのブラウザがWindowsIE6で
$_SERVER['HTTTP_REFERER']
を取得したら空文字がかえってきました。
どうすれば取得できますか?
051651504/04/30 11:23ID:???
T が一個多かったです。スマソ
051751504/04/30 11:24ID:???
自己解決したのではなく、
質問は生きてます。
0518nobodyさん04/04/30 11:29ID:???
>>515
お気に入りからアクセスしたりアドレス欄にURL直打ちだと空だろ。
051951804/04/30 11:32ID:???
空じゃなくて変数自体がsetされないでした。
052051504/04/30 11:36ID:???
>>518
リンクから飛んでも空でした。
0521nobodyさん04/04/30 11:44ID:???
>515
リファラをあてにするな
適当な文字列を設定することも容易だし
リファラを渡さない実装や、ブロックする実装もある
取得出来なかった場合、諦めろ
0522nobodyさん04/04/30 11:47ID:???
>HTTTP
052351504/04/30 11:50ID:???
諦めが肝心 って言うことはよくわかりましたが、
WinのIE6は取得不可能ってことなんでしょうか?
それが知りたいのですが。
よろしくお願いします。
0524nobodyさん04/04/30 12:03ID:???
>>523
んなこたーない。
0525nobodyさん04/04/30 12:13ID:???
>>514
$datってなに。
書き込む直前に$datに何が入っているか確認してみれ。

>>515
普通はちゃんととれるよ。
0526nobodyさん04/04/30 12:20ID:NAmcrNhQ
>>523
現在のページに遷移する前にユーザーエージェントが参照していた ページのアドレス(もしあれば)。これはユーザーエージェントに よってャZットされます=B
全てのャ�[ザーエージャFントがこれをャZットし ているわけではなく、また、HTTP_REFERERを 変更する機能を持つものもああります。
要するに信頼するべきものでは ありません。 ←重要
0527nobodyさん04/04/30 12:27ID:WYN4ZqJ6
perlをwindows2000で使ってます。
構文エラーがあったとき、dos窓がすぐに閉じてしまいます。
何とかならないのでしょうか?
052852604/04/30 12:27ID:???
>持つものもああります。
マニュアルのコピペなので勘弁してください

ageちゃってスマソorz
052951404/04/30 12:52ID:???
ご、ごめんなさい・・・
自己解決しました。。。
この書き込み部分を関数化して読み込んでたんですけど、外側でforeachが動いてました。
お騒がせしてしまい申し訳ございませんでした。。。
0530nobodyさん04/04/30 13:43ID:sYZVZspK
Cygwinで動いているPostgreSQLに接続したいんですが、PostgreSQLの文字コードが
EUC-JPのため、文字化けしないか心配です。

環境はWindows2000+Apache1.3.29+PHP4.2.4です。

この環境でPostgreSQLとやりとりした場合、文字化けは起こるのでしょうか?

また、起こるとしたら、どのような対処法が一般的なのでしょうか?

今、現在はMySQLと接続したりするアプリケーションでは、PHPのソースコードをShift_JISで
書いているんですが、EUC_JPで書けばPostgreSQLとの接続の際の文字化けは防げると思うんですが
Apacheはうまく機能してくれるんでしょうか?(EUC_JPでPHPのソースコードを書いた場合です)

これから、CygwinとPostgreSQLをインストールするので、その段階での注意点みたいのも
あったらよろしくお願いします。

他サイトで質問してもこれといった返事が返ってこなかったり、書籍、インターネットで調べても
Linuxでのやり方しか書いていないので、情報が0です。

マルチポストですが、よろしくお願いします。
0531nobodyさん04/04/30 13:55ID:???
俺WinのApacheなんぞ触ったことねーけど、EUCでおかしくなんの?
んなこたぁねーだろ?
053253004/04/30 13:59ID:???
どうもありがとうございます。>>531
WinのApacheを触ったことないということは、Unixばかりの人なんですか。すごいですね。
Unixを勉強したいと思うんですが、金がなくて。。

Javaをやっていたころ文字化けでむちゃくちゃ悩まされたので、今度は事前に困らないようにと思いまして。。
EUCでおかしくならないなら、それに越したことないですね。

ありがとうございました。
0533nobodyさん04/04/30 14:03ID:???
>>530
EUC-JPで書けば無問題のはずだが。
ま、PHPのソースをSJISで書いているみたいだけど、その様子だと
ちゃんとSJISに対応したPHPをインストールしているか疑問だな。

SET CLIENT_ENCODING でPHP(SJIS)<->PgSQL(EUC-JP)の
変換をPgSQL側でやってくれる。PHPはSJISのまま突っ込めばOK
0534nobodyさん04/04/30 14:35ID:AdzajIxF
PHPLib7.4+MySQL使っててただフォームで入力した日付にヒットしたレコードのフィールド'name'の値をとってきたいのだけど
$db=new authDBSample;  //DBアクセスインスタンスコピー
$db->query("SELECT * FROM master where dat='".$_POST['year']."-".$_POST['month']."-".$_POST['day']."'");
$db->p("name");

上の文を実行するとエラーも値も何も出てこない。ちなみに
print($db->num_fields());
print($db->num_rows());
を実行するとフィールドが「5」、行が「1」と出力される。セレクトされてるレコードはあるようなんだけど値を出力する
$db->p("name");
がうまく表示されない。

MySQLを直接たたくと、ちゃんと1レコード出てきてました。フィールド名も合ってました。
どしてダロ。
053553004/04/30 14:37ID:???
どうもありがとうございます。>>533
>ちゃんとSJISに対応したPHPをインストールしているか疑問だな。
入門本に書いてあるとおりやったんで、僕は実のところ全然分かりません。
今のところは一応作動しているので。。

SET CLIENT_ENCODINGをインターネットで調べたところ↓が見つかりました。

>  pg_exec("SET CLIENT_ENCODING = 'SJIS'");
>  というおまじないを入れると、PostgreSQL が出力データを SJISにしてくれます。

これは、どこへ書けばよいんでしょうか??php.iniにでも書くのか、ソースコードに書くのか。。

どうもすみません。PHPは本当によくわからないし、今度就職するところがPHP+PostgreSQLとかMySQLを
使用するみたいなんで、切羽詰まっております。よろしくおねがいします。
053653004/04/30 14:40ID:???
>>535
についてですが、まだ、CygwinとPostgreSQLをインストールしていないので
なかなかそこまでいけないので、暇な方が回答していただければ幸いです。そこまで
急いでいないので。。

どうもみなさんありがとうございました。CygwinとPostgreSQLをインストールしてから、
自力でやってみようと思います。本当に助かりました。
0537nobodyさん04/04/30 14:50ID:???
>>535
pg_execってまた古そうなソースだな。
どこに書くか、それ見て判らんようだと....勉強汁。

で、どの入門書を見たか知らんけど、
echo "表";
が正しく動くかな。
053851504/04/30 15:00ID:???
みなさんどうもありがとうございました
053953004/04/30 16:12ID:???
>>537
正しく動きますが。。

普通にMySQLとのWEBアプリケーションとやらは組めます。
PostgreSQLもやる必要があるみたいなのでしつもんしました。

ちなみに入門書は↓をみました
http://www.cbook24.com/bm_detail.asp?sku=4798006696

>pg_execってまた古そうなソースだな。
>どこに書くか、それ見て判らんようだと....勉強汁。

どこに書けばよいんでしょうか??これが分からないと本当に勉強が先にすすまないので。。
書籍等は、本当にLinuxばかりでWindowsからPostgreSQL接続は0なんですよ。大きな書店を
はしごして調べたけど、ありませんでした。

本当に困っております。。
0540nobodyさん04/04/30 16:24ID:???
入門書に載っているスクリプトを動かしただけで、「組める」って言うか?
本当に組めるのならpg_exec (= pg_query)をどこに書くか判るはずなんだが。

どこに書くか教えてもらったところで、この先に進めるとは到底思えないのだが。
つーか、釣られているのか...
054153004/04/30 16:29ID:???
>>540
どうもありがとうございます。分かりました。mysql_query()みたいな関数ですね。どうも。
じゃー、ソースコードに書けば良いんだ。

理解できました。関数か、それともphpの設定に使うのかちょっとわからなかったので。。

もう本当に解決しました。

釣りだったのかどうかしりませんが、理解できて本当に感謝しています。

今からPOSTGRESQLをインストールしてかって、PHPとPostgreSQLの本を見に行こうと思います。

本当にありがとうございました。
0542nobodyさん04/04/30 16:31ID:???
win2kで以下のバージョンで問題なく動いてます。
PHPはEUC or UTF-8、 PostgreSQLはcreatedb時にEUC_JP or UNICODEを指定。
php.iniで文字コード関係の設定せず、apacheはAddDefaultCharsetをnoneにしただけ。
cygwin 1.5.5-1
cygipc 2.02-1
postgresql 7.4-1(これら3つはcygwinのsetup.exeからインストールしたもの)
apache-2.0.49-win32
php-4.3.5-win32

phpの文字コード関係の設定は、オンラインマニュアルにうまくまとまってたよーな。
0543nobodyさん04/04/30 16:31ID:???
>>539
勉強する姿勢は大変結構だけど、この分だとここがあなたのためのスレになってしまう
(ま、進行遅い板だからそれでもいいんだけど)
たぶん即戦力としては期待されてないからさ
2chに頼るより就職してから先輩方にしごかれてください
0544533,537,54004/04/30 16:49ID:???
散々引っ張っておいて、
pg_set_client_encoding()
って書いたら怒られるかなw
054553004/04/30 16:50ID:???
>>542
私の環境もほとんど似たようなものです。どうもありがとうございました。
実際にそれで動いているということで、大変安心しました。

本当にお騒がせしましてすみませんでした。

私は本当にPHP初心者なのですが、それでも理解できるように書いてくださって、
本当に感謝しています。

>>543
どうも、すみません。これ以降私の質問は、終わりにしたいと思います。大概は
本で解決できるのですが、これだけはどうしても自力で解決できなかったのですから。。
就職する前に最低限のPostgreSQL接続の基本くらいは知りたかったもんですから。。
しばらく、質問は控えたいとおもいます。どうもすみませんでした。

回答してくださったみなさん、どうもありがとうございました。
054653004/04/30 16:54ID:???
>>544
(;-_- まじですか!?
それだけなんですか。。。
頼みますよ。必死でいろいろ調べたのに。。

書籍はLinuxを前提として書いてあるので、この文字コード変換については書かれていないんですよ。
インターネットも同様です。。

まー、いいです。一番手っ取りばやい解決方法はそれなんですね。どうもありがとうございました。
かなり感謝してるのと、疲れたということで、複雑な心境です
054753004/04/30 16:57ID:???
みなさん、本当にありがとうございました。

これから、本屋へいくので、これ以上、からかわないでくださいね。

ではでは。
0548533,537,540老婆心04/04/30 17:09ID:???
>>546
一番手っ取り早い解決方法を教えてもらって、それで解決したって思っちゃダメだよ。
せめてSET CLIENT_ENCODING というSQL文を知った上でpg_set_client_encoding()を使うならまだいいけど、
SJISを用いるときのお呪い程度の知識じゃ、どうせこの先躓く。
MySQLとPgSQL両刀使いの会社に就職したんならなおさらだな。
0549nobodyさん04/04/30 18:50ID:8pcmBsOy
失礼します。お聞きしたい事があってお邪魔しました。

<?php $com = array(
'<a href="">テキスト</a>',
'<a href="">テキスト</a>',
'<a href="">テキスト</a>',
);
srand(time());
print $com[rand(0,count($com) - 1)];
?>
この様なリロードする度にリンクテキストが変わる
phpを書いみたのですが、二つ同じページに設置すると
毎回二つとも同じテキストが出てしまいます。
組み込んだテキストを完全ランダムに表示させるには
どうしたら良いでしょうか?
0550nobodyさん04/04/30 19:37ID:???
>>549
srand(time());を
srand((double)microtime()*1000000);にしてみな。
0551nobodyさん04/04/30 21:37ID:???
すみませんが質問させて下さい。
Wikiなどでよく見かける、ページ表示処理速度を表示させるには
どうしたらいいでしょうか?
microtimeを使うんでしょうかね・・
0552nobodyさん04/04/30 21:41ID:???
>>551
ttp://cutie.dip.jp/pc/php/b4.php
こういう奴のこと?
0553nobodyさん04/04/30 21:43ID:???
そうなんです。
そこ見てたんですが、勉強不足なもんで
いまいち分かりませんでした。
0554nobodyさん04/04/30 21:49ID:???
>>553
最初の
<? $CPU_start=microtime(); ?>
で時刻をとっておいて、最後にまた時刻を取得して引き算。
list($tmp1,$tmp2)=split(" ",$CPU_start);
list($tmp3,$tmp4)=split(" ",microtime());
ここら辺の処理は違う方法があるきがするが。
■ このスレッドは過去ログ倉庫に格納されています