SAK 図書館
PHP 基礎編6 - 数値関数、その他 rand、floor、ceil、round、$REMOTE_ADDR
■数値関数 srand 乱数初期化 rand 乱数発生 floor 切り捨て整数化 ceil 切り上げ整数化 round 四捨五入 sqrt 平方根 ■srand (乱数初期化) 【例】 srand(time); ** 現在時間で乱数ジェネレータを初期化する。 ■rand (乱数発生) 【例】 $i = rand(0, 99); | |_ 上限値 |_ 下限値 ** $i には、0 〜 99 の乱数がセットされる。 ■floor (切り捨て整数化) 【例】 $i = floor(1.9); ** $i には、1 がセットされる。 ■ceil (切り上げ整数化) 【例】 $i = ceil(1.1); ** $i には、2 がセットされる。 ■round (四捨五入) 【例】 $i = round(1.5[, 2]); | |_ 求める小数点以下桁数(省略は整数) |_ 数値 $i = round(1.5); ** $i には、2 がセットされる。 $i = round(1.123, 2); ** $i には、1.12 がセットされる。 ■sqrt (平方根) 【例】 $i = sqrt(2); ** $i には、1.14... がセットされる。 ■その他関数 chmod パーミション設定 sleep 指定秒ウェイト ■chmod (パーミション設定) 【例】 chmod("path/filename", 0666); ** パーミッションを設定する。(Perl とパラメタが逆である。) ■sleep (指定秒ウェイト) 【例】 sleep(10); ** 10 秒間 PHP の実行を休止する。 (任意の時間実行を停止) ■環境変数 __LINE__ // 実行行番号 PHP_VERSION // PHP バージョン PHP_OS // サーバ OS $DOCUMENT_ROOT // Web ルートディレクトリ $SCRIPT_FILENAME // 現 PHP の物理パス情報 __FILE__ // 現 PHP の物理パス情報 $REMOTE_ADDR // リモート端末の IP アドレス $HTTP_REFERER // リモート端末の直前の URL $HTTP_USER_AGENT // ブラウザ情報 $SCRIPT_NAME // 現 PHP のパス情報 $PHP_SELF // 現 PHP のパス情報 $SERVER_NAME // サーバのホスト名 $SERVER_SOFTWARE // ウェブサーバのソフト名と ver $GATEWAY_INTERFACE // ウェブサーバの CGI ver // サーバが許していれば、IP からホスト名取得 $host := gethostbyaddr($REMOTE_ADDR); ■画像レスポンス <?php // 準備 $imgfile = 'sakstreets.gif'; $imgtype = 'gif'; // 画像イメージ取得 if (!($fno = fopen($imgfile, 'rb'))) { die; } $size = filesize($imgfile); $img = fread($fno, $size); fclose($fno); // イメージ表示 header("Content-type: image/$imgtype"); print $img; ?> ** fopen("php://stdout", 'wb') も試してみたが、うまく動作しなかった。 ■リダイレクト header("Location: path/filename"); |_ http://sak-main/test.htm ./w_test/test.php a001.php?p1=a ** 他の HTML、PHP にリダイレクトする。 当然、HTML レンポンスの先頭で処理しなければリダイレクトできない。 ■セッション管理 ・ASP のセッション変数と同等の使い方が可能なセッション管理を PHP は 持っている。違うページ間での変数共有に利用するとよい。 session_start(); // タグの前で開始 session_register("ses1", "ses2"); // セッション変数登録 action="sestest2.php?<?= SID ?>" // セッションID 管理 ** SID については、PHP の環境設定によっては指定しなくても動作する。 <?php /* ======================================================================== セッションテスト1 ======================================================================== */ // 準備 $pgmname = 'sestest1.php'; // セッション設定 session_start(); // セッション変数 session_register("ses1", "ses2"); // リクエストデータ取得 $ses2 = $b; ?> <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <TITLE>セッションテスト1</TITLE> </HEAD> <BODY> <P align="center">▼ セッションテスト1 ▼</P> <HR> <DIV> <FORM action="sestest2.php?<?= SID ?>" id="FORM1" method="post" NAME="FORM1"> <TABLE border=1 cellPadding=3 cellSpacing=1> <TBODY> <TR> <TD nowrap><FONT size="-1">パラメタ a</FONT></TD> <TD nowrap><INPUT id="a" NAME="a" type="text" size="42" maxlength="40" value="<?= $ses1 ?>"></TD> </TR> </TBODY> </TABLE> <BR> <TABLE border=1 cellPadding=3 cellSpacing=1> <TBODY> <TR> <TD nowrap><INPUT id=submit1 NAME=submit1 type=submit value=" 実行 "></TD> <TD nowrap><INPUT id=reset1 NAME=reset1 type=reset value="リセット"></TD> </TR> </TBODY> </TABLE> </FORM> <P>セッション変数<BR> $ses1 = <?= $ses1 ?><BR> $ses2 = <?= $ses2 ?><BR> </P> </DIV> <HR> </BODY> </HTML> <?php /* ======================================================================== セッションテスト2 ======================================================================== */ // 準備 $pgmname = 'sestest2.php'; // セッション設定 session_start(); // セッション変数 session_register("ses1", "ses2"); // リクエストデータ取得 $ses1 = $a; ?> <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <TITLE>セッションテスト2</TITLE> </HEAD> <BODY> <P align="center">▼ セッションテスト2 ▼</P> <HR> <DIV> <FORM action="sestest1.php?<?= SID ?>" id="FORM1" method="post" NAME="FORM1"> <TABLE border=1 cellPadding=3 cellSpacing=1> <TBODY> <TR> <TD nowrap><FONT size="-1">パラメタ b</FONT></TD> <TD nowrap><INPUT id="b" NAME="b" type="text" size="42" maxlength="40" value="<?= $ses2 ?>"></TD> </TR> </TBODY> </TABLE> <BR> <TABLE border=1 cellPadding=3 cellSpacing=1> <TBODY> <TR> <TD nowrap><INPUT id=submit1 NAME=submit1 type=submit value=" 実行 "></TD> <TD nowrap><INPUT id=reset1 NAME=reset1 type=reset value="リセット"></TD> </TR> </TBODY> </TABLE> </FORM> <P>セッション変数<BR> $ses1 = <?= $ses1 ?><BR> $ses2 = <?= $ses2 ?><BR> </P> </DIV> <HR> </BODY> </HTML> ■PHP 基礎編資料
■PHP + MySQL 編資料
■CGI-Perl 基礎編資料
■CGI-Perl 基礎実地編資料
■CGI-Perl 応用実地編資料