このページを見ているブラウザの種類をチェックしてみましょう。
ブラウザがリクエストの一部として送信するユーザーエージェントを表示すればいいです。
ブラウザ情報は $_SERVERという変数のHTTP_USER_AGENT という項目に入ってます。PHPでは変数は常にドル記号で始まります。この変数を表示させるには次のようにできます。
<?php echo $_SERVER["HTTP_USER_AGENT"];?>
あなたが使ってるブラウザが表示されてるはずです。PHP4.1.0以前なら$HTTP_USER_AGENTにしましょう。
echo $HTTP_USER_AGENT; ?>
自動的にセットされる変数は他にもたくさんあります。 表示させてみましょう。
<? phpinfo(); ?>
どうですか?こんなのが出てきましたか?なんかわけわっかりませんね〜(笑
一番上に出てるのがPHPのバージョンです。その下あたりにあるのがインストールオプションです。
この情報でPHPの設定が全てわかります。PHPの動作確認が出来るので、これをinfo.phpとでも保存しておいていろんなサーバで試してみましょう。いろんな事がわかります
phpinfoもいいですが、どの変数が使えるかわかんないですね。実は使える変数だけが別の場所にあります。これをグローバル変数といいます。 $GLOBALS に多次元配列として入ってます。
表示させるには配列を展開します。
<? foreach($_SERVER as $key => $value) {
echo "<b>$key :</b> $value <br>\n"; } //もっと簡単に表示するにはprint_r,var_exportを使います print_r($_SERVER); ?>
実行サンプルはこちらです。
例えば、
あなたのIPは
echo $REMOTE_ADDR; ?>
ですね?($_SERVER["REMOTE_ADDR"])とか出来ます。
上のソースで/*ってのがありますが、PHPでは /* と */にはさまれた部分はコメントとして扱われます。
単に一行だけコメントアウトする場合は // を使います。文頭に置く必要はありません。注釈として使えます。
<? echo "ここは表示されます。"; // echo "これは表示されません"; ?>
■現在時刻を表示してみましょう。PHPには日付・時刻関数があるのでこれを使います。
ただいま<? print (date ("Y年m月d日(D) H時i分s秒"));?>です結果
printというのが出てきましたがechoといっしょと思っていいです。変数に入れる場合は
$now =date ("Y年m月d日(D) H時i分s秒");こうします
フォーマットは色々変えれるので、マニュアルのdate関数を見てやってみてください。
ただ、date()には曜日が英語と数字しかありませんねぇ。
曜日を「日、月、火..」という風にする場合は、strftime関数を使います。
dateとはフォーマットが違うので注意しましょう
<?php setlocale (LC_TIME, "ja_JP"); echo "ただいま". strftime ("%Y年%m月%d日(%a) %H時%M分%S秒") . "です"; ?>
結果
ただいま
setlocale(LC_TIME,"ja_JP");
print(strftime("%Y年%m月%d日( %a ) %H時%M分%S秒"));?>
です
setlocale()で場所情報 ja_JP(日本)を与えてやることで、日本の曜日が出せます。これはロケールがインストールされてる場合のみ動作します。
ほとんどサーバの場合うまくいかないかも・・文字化けはEUCにすれば直ります。
(解決方法)曜日の配列を用意して、曜日が数字で返ってくるフォーマットを使います
<?php $youbi = array('日','月','火','水','木','金','土'); $gmt = time()+9*3600; echo gmdate("Y/m/d(".$youbi[gmdate("w",$gmt)].") H:i:s", $gmt); ?>
■では海外の時差のあるサーバーで動かす場合です。
ただいま<? print (gmdate ("Y年m月d日(D) H時i分s秒", time()+9*60*60));?>です日本はGMT +900なので9時間足します。うちのスクリプトはこの方法です
別の方法
<? putenv("TZ=Asia/Tokyo"); ?> ただいま<? print (date ("Y年m月d日(D) H時i分s秒"));?>です
環境変数のタイムゾーンを東京に変更してやることで日本の時間で表示されます。
■最後に↓にある、最終更新時刻を表示する方法です。
<? echo "更新日" . date("F d Y H:i:s", getlastmod() ); ?>
真中の’.’(ドット)は、文字列を結合するときに使います。
■ついでにシングルクォーテーション「'」とダブルクォーテーション「"」の違いについて説明します。
「'」で括った場合は全て文字列として扱いますが、「"」で括った場合は中の変数を展開します。以下の例を実行するとわかるかもしれません
<?php $email = 'NOSPAM@usa.net'; echo 'シングルです $email\n<br>'; echo "ダブルです $email\n<br>"; ?>HTMLなどを出力する場合は注意が必要です。ダブルで括った中でダブルを使う場合はエスケープして下さい。もしくはヒアドキュメントをつかってください。
<?php echo "<html><body text=\"#ffffee\" vlink=\"#ddaa55\">"; ?>
$logfile="tt2";include("short.php");?> |