■数値関数
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>
2000年2月22日星期二
数値関数
订阅:
博文评论 (Atom)
没有评论:
发表评论