2.いろんな情報を表示させてみよう!
ブラウザ何使ってる?

このページを見ているブラウザの種類をチェックしてみましょう。

ブラウザがリクエストの一部として送信するユーザーエージェントを表示すればいいです。

ブラウザ情報は $_SERVERという変数のHTTP_USER_AGENT という項目に入ってます。PHPでは変数は常にドル記号で始まります。この変数を表示させるには次のようにできます。

<?php echo $_SERVER["HTTP_USER_AGENT"];?>

あなたが使ってるブラウザが表示されてるはずです。PHP4.1.0以前なら$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は ですね?($_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()で場所情報 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\">"; ?>




<<Prev  Next>>


LastModified