SAK 図書館

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

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 応用実地編資料
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索



Copyright (C) 1999-2017 Y.SAK