C.K PRIVATE WEB系,

WEB・PIC

C.K PRIVATE WEB系

C.K PRIVATE /  2011年・WEB関係のページです
WEB系のHTMLやCSSやドリームウイバーの基礎などをUPしています

11/12.3    手続き型と御オブジェクト指向型のスタイルを比較する

オブジェクト指向以前のプログラミングすたいるでは、データを操作する時関数
(手続き)にデータと操作内容を指示する、スタイルが採られてきました
以下はBMIという肥満度を算出するプログラムの一部です

$hito = array ("height" =>0, ""weight=>0 );
bmi_setHeght ( $hito, 180 ); ←身長をセット
bmi_setWeght ( $hito, 83 ); ←体重をセット
$bmi = bmi_calcBMI ($hito ); ←BMIを計算
echo "あなたのBMIは,$BMIです。"


11/11.25    1つのクラスから2つ以上のインスタンス

1つのクラスから2つ以上のインスタンスを作ることも可能です

//インスタンスを生成する
$car1 = new Car();
$car2 = new Car();
//$car1の燃料を変更する
$car1->fuel = 500;
$car2->fuel = 300;
//燃料の情報を表示する
$car1->showInfo(); ←燃料=500と表示される
$car2->showInfo(); ←燃料=300と表示される

$car1と$car2のfuelをそれぞれ変更しても、その2つのインスタンスは別個のもの
なので、一方が他方に影響することはありません、インスタンスは設計図である
クラスを元に作られますが、インスタンスとして生成されたあとは、別々のものなのです


11/11.20   5分で理解するオブジェクト指向

オブジェクト指向プログラミングでは「クラス(CLASS)」と「インスタンス(INSTANCE)」
という概念があります、クラスは設計図、インスタンス(製品)に見たたて見ましょう
例えば自動車をクラス(設計図)とインスタンス(製品)にみたたてみましょう
自動車の利用者である私達は、設計図をもらっても困ってしまうばかりかですが
設計図から作られた自動車なら利用することが出来ます、オブジェクト指向の概念は
クラスの設計者と利用者を明確に分け、利用者の利便性を高めるものと考えられます

クラスとインスタンスの実際
PHPのクラスでは、そのオブジェクトがどんな変数や関数を持っているか定義できます
「Car」という名前のクラスを定義してみましょう
以下は燃料を示す変数$fuel,車を前に進める関数foward(),自動車の情報表示する
showInfo()を定義しています
class car[
public $fuel = 100;
function forward() [ echo"前進";]
function showInfo()[echo "燃料=$fuel";]
]

こうして定義したCarくらすですが、この関数をそのままを利用するとこは出来ません
クラスはあくまでも設計図なのですからそこでインスタンスを生成して利用します
Carクラスからインスタンス$mycarを生成する例を示します

$mycar = new Car();
$mycar ->fuel = 200; ←燃料を200にする
$mecar ->showInfo(); ←燃料=200と表示される


11/11.12   オブジェクト指向

オブジェクト指向というと難しい用語なきがしますが、
いくつかの概念さお押さえれば大丈夫専門知識は不要です
オブジェクト指向とは、プログラムの操作手順よりも操作体操に重点を置く考え方
をいいます、そもそもオブジェクト指向とは何でしょうか??
オブジェクトは日本語に直訳すると「もの」とか「物体」という意味、ですから
「もの」を中心としたプログラミングスタイルということになります
オブジェクト指向の考え方を採り入れると、プログラミングを効率よく作れる
ようになり、プログラムの再利用がしやすくなります、PHPもPHP5からオブジェクト
指向の機能が強化されました、今となっては、多くのプログラミング言語が
オブジェクト指向の概念を持つほど一般的になっています

11/11.5   PHPからMySQLにアクセスしてみる

以下のプログラムはphptestデータベースにテーブルを作成し、そこへサンプルデータ
をいくつか挿入したあと、テーブルから結果を抽出するものです、このプログラムをApache
のドキュメントルートに保存し「http://locallhost/mysql-test.php」にアクセスしてみてください

<pre><?php
//------------------------------------------------------
//データベースへの接続
$dsh = "mysql:host;dbname=phptest";
$user = "root";
$password = "";
$db = new PDD($dsh, $user, $password);
$db->exec("SET NAMES utf8");
//-------------------------------------------
//テーブルの作成
$create_query = <<< __EOS__
CREATE TABLE users (
user_id INTERGER PRIMARY KEY AUTO_INCREMENT,
name TEXT,
email TEXT
);
__EOS__;
$db->exec($create_query);
//-----------------------------------------------------------
//データの挿入
$insert_query = "INSERT INTO users (name,email)".
"VALUES(佐藤','sato@example.com')";
$db->exec($insert_query);
$insert_query = "INSERT INTO users (name,email)".
"VALUES ('鈴木'、'suzu@example.com')";
$db->exec($insert_query);
//-----------------------------------------------------------
//データの抽出
$reset = $db->query("SELECT * FROM users")->fetchAll();
print_r($result);
?>



11/10.28   SQLで楽々データベース

前回挙げたように、リレーショナルデータベース管理システムは数多くありますが
どれでもデータベースの定義やデータの追加・削除・抽出・
SQL(Structure Query Languege)という問い合わせ言語を
利用するのが一般的です、SQLは標準化が進んでいるので、細かい部分ではデータベース
管理システムごとに違いがあるものの、ここで扱う、基本的な範囲ならほとんど同じ記述で
プログラミングできます、以下は、最近登録した顧客の中から埼玉県の10人分表示させる
SQL文です、複合的な条件でも、ほんの1行のSQL文で目的を達せられることが分かります

SELECT name FROM Users WHERE area="埼玉県"AND gender="男"
ORDER BY user_id LIMIT 10;


11/10.22   データベースを抽出する

データベースからデータを抽出する
いったんデータベースに登録したデータは,必要なカラムだけ、目的に合わせた順番で
条件に合うレコードだけ、とさまざまな形で抽出できます、データの抽出にはSELECT
文を使用します、まず、基本的な書式を紹介します

SELECT 取り出すカラム  FROM テーブル名   WHERE 条件

イメージがつかめるようにSELECT文を使って見ましょう、
商品テーブルから在庫が100個以上ある商品を抽出するSQL文はこのようになります

SELECT * FROM 商品テーブル WHERE 在庫=>100

取り出すカラムに「*」を指定すると、全てのカラム(商品ID、商品名
メーカー、価格、在庫)を指定したのと同じ意味になります

11/10.16    データベースとは?

データベースとは大量のデータを蓄積して簡単に利用するための仕組みです
データを効率よく整理・統合してデータベースに登録し、検索や更新などの機能を提供する
ソフトウェアのことをデータベース管理システム(DBMS;DataBase ManagementSystem)
と呼びます

たとえば通販サイトでは、さまざまな商品を登録することになります、商品にタグをつけ
ジャンルごとに商品を取り出したり、価格順や発売日順に並び替えて表示する仕組みが必要に
なります、そして、お客さんの情報を登録しておいて、お客さんがどんな商品を買ってくれ
現在どの商品が発送済みで、どれが発送待ちかも把握する必要があります、また過去に
どんな商品を買っているのかをみる事が出来れば、トラブルが生じた時の解決の糸口に
なるでしょう

リレーショナルデータベースの世界
データベース管理システムは、用途や設計コンセプト、動作環境に応じて、多様なものが
開発されてきました、PHPでは、OracleDetabase、MySQL、Postgre
SQL、SQLiteなどを利用できます、Webサービスの開発では、オープンソースの
MySQLやPostgle,SQLiteが好んで使われるようです、
この中からMySQLとSQLiteの利用を紹介します

これらのデータベースにはリロケーショナルデータベース
(Relational DataBase:RDB)というモデルが採用されています
リレーショナルデータベースは、データ表形式の概念で格納します、Excelのシートを
イメージすると分かりやすいかと思います、↓は顧客の表の簡単な例ですが、データ(お客さん)
が増えると、表が縦方向に伸びていきます

顧客ID 名前 メールアドレス
0001 相川太郎 aikawa@example.com
0002 石田次郎 isikawa@example.com
0003 牛島三郎 usijima@example.com
0004 枝川四郎 edagawa@example.com
0005 大熊五郎 ookuma@example.com
:
:
:
この表のことをテーブル(Table),またはテーブルの列をカラム(Culumn)各行を
レコードと呼びます、リレーショナルデータベースでは、名前のカラムだけを取り出したり
顧客IDを指定して名前とメールアドレスの組を取り出すことが簡単に出来ます
またこうした表を、顧客データ、商品データ、注文データというように複数作っておけば
簡単な指定で表と表を関連つけて、ある商品についての販売一覧も容易に得られます
、このように、単純な形で蓄積した表データからさまざまな見方でデータを抽出できるのが
リレーショナルデータベースの魅力です


11/10.8    特殊記号

特殊記号「\d」「\w」「\s」「\D」「\S」
数字は「¥d」で表せますが、数字のような文字の集合を表す記号が他にも用意されています
「\w」はアルファベットと数字を表し、「¥s」は空白を表します、又これらを否定的に使う
「¥D」「¥W」「¥S」も用意されています、たとえば「¥D」は、数字以外の1文字を
表し、「¥S」は空白文字以外の1文字を表します

特殊記号
¥d 数字1文字
¥w アルファベットと数字いずれかの1文字
¥s 空白文字1文字
¥D 数字以外の1文字
¥W アルファベットと数字以外の1文字
¥S 空白文字以外の1文字

任意の一部分だけを取り出す
正規表現でマッチしたものの中から、一部分だけを取り出したいことがあります
たとえば、HTMLのリンクを表す<a>タグhref属性(URL部分)のみを取り出した
い場合などです、このような時には、丸カッコ「()」でパターンを囲みます
<?php
header("content - type: text/plain "); //
$pattern = '/<a href= "([^"]*)">/'; //HTMLが結果に含まれるため
$html = "<p><a href=\"http://example.com/test.php\">xxx</a><p>!;
preg_match($pattern, $html, $match);
print_r($match);
?>

実行結果
Array
[
[0] => <a href="http://example.com/test.php">
[1] => http://example.com/test.php
]

この例では、ダブルクォーテーション「"」で囲まれた文字列を所得するために、
「"(^"]+)"」というパターンを記述しています、「[^"]+」はダブルクォーテーション以外の文字の
1文字以上文字列を表しています


11/10.1    文字の選択を表す[と]

特定の文字のいずれかを、「abc」のように角カッコを使って表すことが出来ます、
「1」か「3」か「8」のいずれかを表すには「138」と記述します、又「1」~「5」
のいずれかの場合には「1-3」小文字のアルファベット(「a」~[z])の場合には
「a-z」のように範囲をしていることもできます
<?php
$text = " I read the letter. You are a teacher . This is an apple.";
$pattern = "/^[a-z]+$/";
//前処理
$text = str_replace('.',' ',$text); //ドットを空白に置き換える
$words = split(" ", $text); //文章をスペースで区切る
//パターンにマッチしたものだけが出力する
foreach($words as $w)[
if (preg_match($pattern,$w))[ echo $w."<br/>";]
]
?>

実行結果
read
the
letter
are
a
teacher
is
an
apple

指定の文字以外を表したい場合は[^abc]のように記述します、カンマやドット以外の文字を表すには
[^,.]とかきます
又、語句の選択を表すのは[aaa|bbb]です、[鈴木|佐藤]とかけば、鈴木さんか佐藤さんを抽出することが
出来ます


11/9.17    文の先頭と最後を増やす記号

文面を表す「^」や文末を表す「$を組み合わせて、文頭や文末の指定の文字列を
表すことも出来ます、たとえば、「^n」「n」から始まる文字列を表し、「i$」は「i」
で終わる文字列を表します

[n]で始まる動物をピックアップします
<?php
$pattern = "/^n/";
$words = array("inu"," neko","usagi","nezumi");
foreach($words as $w[
if (preg_match($pattern,$w))[ echo $w ."<br/>";]
]
?>

実行結果
neko
nezumi


11/9.10    繰り返しを表す記号

この記号は、先ほどのドット「.」「¥d」と組み合わせて使います
「¥d+」は1文字以上の数字の繰り返しを表し「37」「15839」「052」
のような文字列にマッチします「.+」は1文字以上の任意の文字の繰り返しを表します
、アルファベットなどの文字と組み合わせて「a+」と書くことも出来ますが
この場合は「1文字以上のaを表す」ことになり、「a」「aaa」「aaaaaaaa」
などにマッチします、先ほどのパターン「¥d¥d¥d」は数字3文字を抜き出すもの
だったため「00000」を検索すると、結果が「300」と「000」に分かれてしまいました
けれども、パターンを「¥d+」とすれば、連続する数字を取り出せます

数字列を取り出す
<?php
$pattern = "/\d+/";
$str = "これは120gで30000円、納期は7営業日です";
preg_match_all($pattern,str,$match);
print_r($mutch);
?>

実行結果:
Array([0]=> Array([0]=> 120[1]=> 30000[2]=>7))

これと似た動きのメタ文字を挙げます
動きが似ているメタ文字
*   0文字の繰り返し
[4]   4回の繰り返し
[2.5] 2回以上5回以下の繰り返し
[3,] 3回以上の繰り返し


11/9.3    任意の1文字を表す記号

任意の1文字を表す記号ドット「.」と、任意の数字1文字を表す「¥d」です
「....」という正規表現のパターンは任意の4文字を表し、「this」「that」「null」
などにマッチします、「¥d¥d¥d」は任意の数字3文字を表し、
「325」「245」「999」などにマッチします、PHPでは、preg_match()関数や
preg_much_all()関数で、正規表現を利用できます、実際にpreg_match_allを使って、
ある文章から正規表現にマッチするパターンすべてを取り出してみましょう

int preg_match_all(正規表現パターン,対象となる文字列,実行結果,)

関数の戻り値はマッチした件数です、そしてパターンにマッチした文字列が
配列変数の形式で実行結果に代入されます、
「preg_xxxx」の形式の関数名は、Perl互換の正規表現関数を意味しています
そこで正規表現のパターンは「/パターン/」「#パターン#」のように、任意
の記号で前後を囲む必要があります、以下は3文字の数字を表すパターン
「¥d¥d¥d」を使って、簡単な文章から値を取り出しています

3文字の数字を取り出す
<?php
$pattern = "/\d\d\d/";
$str ="この金属は、120g で300000円するんです";
preg_match_all($pattern,$str,$match);
print_r($match);
?>

結果
Array([0]=> Array([0]=> 120[1]=> 300[2]=> 000))


11/8.27    PHPからCookieを使う

Cookieの値は、$_COOKIE変数を参照して得られます、また、Cookieの設定には
Setcookie()関数を使います
CookieはHTTP通信で送信されるデータ中の、コンテンツに先立つヘッダ情報に埋め込まれる
物なので、Setcookie()関数を呼び出してCookieの値をセットするには
コンテンツ(つまりHTML)を出力する前のタイミングでおこなってください

Setcookie(変数名、値[,有効期限][,パス][,ドメイン])
「有効期限」には1970年1月1日00:00:00 GMTからの通算秒を指定します
つまりtime()関数で得た時刻の値を使用できます
パスやドメインには、Cookieに値の有効範囲を指定できます、たとえば、パスの中に
「/」(ルートを指定すれば)、そのドメイン全てのパスでCookieが有効になり、
「/manga/」を指定すると、/mangaディレクトリ以下でその値が利用できるようになります
また、ドメインとして「neko.examle.com」を指定すると、全てのサブドメインで有効になります
、有効期限とパス、ドメインの値は省略が可能です、以下はCookieの値を設定する例です

<?php
setcookie("name","kujira");
setcookie("web,"http://kujirahand.com/",time()+3600; 有効期限を1時間に
$week3 = 3*7*24*60*60; 三週間を秒で表した値
setcookie("web","http://kujirahand.com/",time()+$week3); 有効期限を3週間に
?>

Cookieの値は以下のように使用します
<?php
$name = htmlspecialchars( $_COOKIE['name']);
$value = htmlspecialchars( $_COOKIE['web']);
?>
<body>
<input type="text" name="name" value="<?php echo $name;?>"/>
<input type="text" name="web" value="<?php echo $value; ?>"/>
</body>



11/8.20    cookieを利用する

Cookie
サイトではよく、名前のフィールドへの値入力を記録しておき、次の機会に
自動で入力フィールドを埋めてくれます、これはCookie(クッキー)という仕組みに
より、利用者のコンピューターに一時的にデータを保存しておくことで実現しています
利用者の名前や最後にサイトに訪れた日時、そのサイトの訪問回数といった、ちょっとした情報
の保存に便利です

特性を考える
Cookieで利用者のコンピューターに保存できるデータは、Webブラウザにもよりますが
1つのCookieに4096バイトまで、またCookieに個数は最大300個です
(1つのWebサーバーにたいして20個までです)
保存している情報は利用者が自由に書き換え可能なので、通販サイトで購入した
商品の値段や買い物合計金額の保存には向きません
またCookieの値はJavascriptで容易に取り出せます、何らかのJavascriptの実行により
Cookieに記録しておいた、情報が別のサイトで、パスワードなどの大切な情報を
Cookieに保存してはいけません
Cookieで記録している情報には有効期限を設定できますが、これも利用者によって
クリアされてしまう可能性があります

Cookieの正しい使い道
制約はあるものの、Cookieは掲示板の名前のフィールドなど、ちょっとした用途には十分威力を
発揮します
また利用者の識別番号のみをCookieに記録し、実際のデータはWebサーバーに保存する手法が
あります、このような手法をセッション管理と呼び、PHPに標準で備えられています
セッション管理を利用すれば、パスワードや個人情報などはサーバーの保存し、訪問者のPCに
重要な情報を保存しない方法で、ユーザー認証を実現できます、ちょっとしたデータの記録には
Cookie、重要な情報やサイズの大きな情報の記録にはセッション管理、というように使い分けると
いいでしょう


11/8.13    前回の補足


うまく動かない時はパーミッションをチェック
プログラムがうまく動かない場合は、ファイルやディレクトリへの書き込みが出来るように
なっているか、パーミッションの設定を確認してください、ここでは、画像を保存する
filesディレクトリを作成し、その中に投稿された画像を保存することになりますので
作成したfilesディレクトリに書き込み権限を与えます


大きな画像をファイルをアップロードできるようにするには
PHPの標準の設定では、アップロードするファイルの最大サイズが2メガバイトまでに
制限されています、(Windows版のXAMPPの設定ファイルでは64メガバイトまで)
大きなサイズ画像をアップロードできるようにするには、PHPの設定ファイルを書き換えます
まず、アップロードを許可する「file_uploads=0n」の記述があることを確認し、アップロード
ファイルの最大サイズを指定する「upload_max_filesize =64M」の部分を任意に変更します
またPHPプログラムが、実行時に使用できるメモリ量の制約で大きなファイルを受け取れない場合が
あります、この場合は、PHPプログラムが確保できる最大メモリ量を指定する「memory_limit =32M」
の部分を変更します

file_uploads = 0n ←アップロードを許可する



;Maximum alloweb size for uploaded files.
upload_max_filessize = 64M ←アップロードファイルの最大サイズを64Mに設定


memory_limit = 32M ←PHPプログラムが確保可能な最大メモリ量を32メガ
バイトに設定

その他、post_max_size(POSTで送信するデータの最大サイズ)やmax_execution_time
(PHPプログラムの実行打ち切りまでの時間)の値もアップロードに影響します
うまくアップロードできない場合はこれらの値も確認してみてください
ファイルサイズやメモリ利用量の制約を緩和すると、Webサーバーにそれだけ負担がかかるので
留意してください、サーバーのホスティングサービス「レンタルサーバー」を利用している場合には
設定が変更できない場合もあります


11/8.6   フォトアルバム

フォトアルバム
ファイルのアップロード機能を用意する

phpにはファイルのアップロードに便利な仕組みが用意されているので、その使い方を解説します

プログラム
<?php
//--------------------------------------------------------------------
//フォトアルバム
//--------------------------------------------------------------------
//変数の初期化
$updir = "files/";
$savefile = "photoalbum.txt";
$log = array();
//ログファイルの読み込み
if(file_exists($savefile)) [$log = file( $savefile ); ]
//ファイルがアップロードされたか??
if(is_uploaded_file($_FILES['photo'][tmp_name']))[
//アップロードされたファイルのパラメータを得る
$tmp = $_FILES['photo']['tmp_name'];
$name = $_FILES['photo']['name'];
//保存するファイル名を決める
$head = date("YmdHis"); //重複しないように日付をヘッダにする
$fname = $updir.$head."-".urlencode(basename($name);
//一行メモを保存するための処理
$memo = $_POST['memo'];
$memo = str_replace("\r","",$memo);
$memo = str_replace("\n","",$memo);
$memo = str_replace("\t","",$memo);
//一時領域から指定フォルダへファイルを移動する
if (move_uploaded_file($tmp,$fname))[
//ログファイルへ日付け、ファイル名とメモを保存
$date = date("Y-m-d H:i:s");
$newlog = "[$date]\t[$fname]\t[$memo]\n";
array_unshift($log,$newlog);
file_put_contents($savefile,$log); //ファイルへ保存
]
]
//ログの内容をHTMLに変換する
$html = "";
foreach ($log as $line)[
list($date,$fname,$memo) = split("\t",$line);
$body = htmlspecialchars($body);
$html . ="<hr/><h3>$memo($date)</h3><p><img src= '$fname'/
></p>";
]
//以下のHTMLの表示
?>
<html><body><h1>フォトアルバム</h1>
<?php echo $html; ?><hr/>
<!-- 画像の投稿フォーム -->
<form enctype="multipart/form-data" method="POST">
画像ファイル:<input name="photo" type=file" /><br/>
メモ:<input type="submit"value"アップロード"/>
</form>
</body></html>


11/7.30   掲示板システム

WEBサイトの利用者がメッセージを残せる掲示板システム(Bulletin Bords System;BBS )は古く
から情報交換の場として良く使われてきた、Webアプリケーションの一つです、代表的なものとして
「2チャンネル」を挙げられるでしょう、ここでは最小限の機能を備えた掲示板のシステムを作ってみます

一口に掲示板といっても、さまざまな機能を持ったものがあります、そこでここで作るものの機能を
書き出してみました

1.掲示板に発言を書き込める
2.それまでに書き込まれた発言(ログ)を表示する
3.不適切な発言を削除できる
掲示板では、一行チャットプログラムに機能を付け加えたもので、発言を書き込む方法は
同じです、考えておきたいのは3番目の点で、不適切な発言を削除できるようにする必要があります
ここでは、書き込みごとに識別用の番号(ID)を割り振り、IDを指定して書き込みを削除できるようにします
プログラムはこれまでで一番長いものになりましたが、プログラムを構成する個々の部分を見ていくと
案外簡単だということがわかります

<?php
//------------------------------------------------------------------------------------
//掲示板の初期設定
//------------------------------------------------------------------------------------
global $logfile;
$logfile = "bbslog.txt";//掲示板のログを記録するファイル
//-----------------------------------------------------------------------------------
//メインプログラム
//-----------------------------------------------------------------------------------
//削除や書き込みごとの処理ごとに関数を実行する
$mode = $_GET["mode"];
if($mode =="write") [writeLog(); ]
if($mode == "delete") [ deleteLog();]
showLog();
//-----------------------------------------------------------------------------------
//ログの表示
//-----------------------------------------------------------------------------------
fuction showLog()
[
global $logfile;
//HTMLヘッダの表示
echo "<html><body><h1>掲示板</h1>";
//ログがあれば読み込んで表示
if(file_exists($logfile))[
//ファイルの内容(一行ずつ)を配列変数に読み込む
$logs = file($logfile);
$id = array_shift($Logs); //データの一行目はID
//ログの表示
foreach ($logs as $line)[
List($id,$name,$body,$date) = split("¥t",$line);
echo"<p>$id:<b>$name<¥b> $date<br/>¥n";
echo"<blockquote>$body</blockquote></p>¥n";
]
]
showForm();
//フッタの表示
echo"</body></html>";
]

11/7.23   三者択ーアンケート

WEbサイトで、好きな食べ物、人気アイドルなど、リアルタイムに集計されるアンケート
に参加したことは無いでしょうか?Webアンケートの面白みは、自分が投票した一票がすぐに
結果に反映されるところです、この章の始めで紹介した「訪問カウンター」を応用して
簡単に作れるので、試してみましょう

ポイントファイルの入出力とHTML入力フォームのラジオボタンを組み合わせます
訪問カウンターでは、利用者がWebをアクセスするたびに無条件にカウンターに1
を加算していきましたが、ここで作るアンケートでは、利用者が「投票」ボタンを
クリックしたときだけ、カウンターを加算する仕組みを作ります

プログラム
<?php
//------------------------------------------------------------------
//三択アンケート
//------------------------------------------------------------------
//初期設定
ini_set("default_charset", "utf-8");
$savefile = "santaku.txt";
//質問
$question = "朝、目覚めてすぐに食べたいものは?";
//選択肢
$labels = array(
"バナナ",
"メロン",
"スイカ",
);
$values = array(0,0,0);
//----------------------------------------------------------------------
//メイン処理
//-----------------------------------------------------------------------
//集計ファイルの読み出し
if (file_exists($savefile))[
$raw_data = file_get_contents($savefile);
$values = split(",", $raw_data);
]
//投票されたか?
if(isset($_GET["santakusi"]) && $_GET["santakusi"] != "")[
$i = intval($_GET ["santakusi"]);
$values[$i]++;
$txt_data = join(",",$values];
file_put_contents($savefile,$txt_data);
]
//情報と投票フォームを表示
echo "<html><body>";
echo "<p>$question</p>";
echo "<form>";
echo "<table border='1' cellpadding='6'>";
for ($i = 0; $i <3; $i++) [
$label = $labels[$i];
$value = $values[$i];
$radio = "<input type= 'ratio' name='santakusi' value='$i' />";
echo"<tr><td>$ratio</td>$label</td><td>$value 票</td></tr>¥n";
]
echo"</table>";
echo"<p><input type='submit' value'投票'/></p>";
echo"</body></html>";
?>


11/7.16   一行チャット

WEBサイトを訪問した人が気軽にメッセージを残せるようにします

一行チャットプログラムのポイントは以下の3点です、入力フォームの利用方法は
「インチ→センチメートル変換機」でも紹介しましたが、ここでは復習してみましょう

・HTMLでチャット用の入力フォームを用意する
・PHPプログラムは入力フォームに記入されたメッセージを受け取る
・PHPプログラムは受け取ったメッセージをファイル保存する

プログラム
<?php
//----------------------------------------------------------------------
//チャットの初期設定
//----------------------------------------------------------------------
$savefile = "chatlog.txt";
$log = "";
//---------------------------------------------------------------------
//メインプログラム
//--------------------------------------------------------------------
//既にログがあれば読み込む
if (file_exists($savefile))[
$log = file_get_contents($savefile);
]
//ユーザーから書き込みがあったかチェック
if(isset($_GET["name"]) && isset($_GET["message"]))[
//書き込みの内容を変数に取得する
$name = $_GET["name"];
$message= $_GET["message"];
//書き込みをHTML化する
$html_name = htmlspecialchars($name);
$html_message = htmlspecialchars($message);
//ログの先頭に書き込みを追加する
$log_line = "<p>$html_name : $html_message</p>¥n";
$Log = $log_line . $log;
//ファイルへ保存する
file_put_contents($savefile,$log);
]
//--------------------------------------------------------------------------
//以下 HTMLの表示
//---------------------------------------------------------------------------
?>
<html><body><h1>一行チャット</h1>
<!-- 入力フォーム -->
<form method ="get">
お名前:<input type="text" name="name" size="8"/>
発言:<input type="text" name_"message" size"60"/>
<input type="submit" value="書き込み"/>
</form>
<!-- チャットのログを表示 -->
<?php echo $log ?>
</body></html>

11/7.9   比較演算子

C言語のほうにも書いてあるかもしれませんが
比較演算子です

比較演算子 意味 利用例 結果
$a == $b $aと$bが等しいか? 3==2 偽
$a != $b $aと$bが等しくないか 3!=2 真
$a < $b $aが$bより小さいか 3<2 偽
$a<=$b $aが$b等しいか、または$aが$b 3<=2 偽
より小さいか
$a > $b $aが$bより大きいか? 3>2 真
$a >=$b $aが$bと等しいか、又は$aが$b
より大きいか 3>=2 真
$a === $b $aと$bが値の型も含めて等しいか 3==="3" 偽
$a !== $b $aと$bが等しくないか、又は型が
等しくないか 3!=="3" 真
$a <> $b $aと$bが等しくないか(!=)
と同じ 3<>2 真

11/7.2    訪問カウンター

WEBサイトを渡り歩いていくと、利用者がサイトを訪れるごとにカウントアップされる訪問
カウンターをよく見かけます、ここでは、簡単な訪問カウンターを作ってみます
とてもシンプルなので、ファイル操作の練習にはもってこいです

訪問カウンターを作成するには、どこかにカウンターの記録場所を用意し、訪問するたびに1を加えて
保存しておく必要があります、PHPプログラムはWebサーバーで動作するので、Webサーバー上の
ファイルへカウンターの数値を保存することが出来ます、ここでは、訪問カウンターの制作を通して
PHPプログラムからファイルを読み書きする方法をミニつけます

プログラム
<html><body><div style="font-size:50px;">
<?php
//----------------------------------------------------------------
//カウンタの初期設定
//----------------------------------------------------------------
$savefile = "counter.txt";
$cnt =0;
//-----------------------------------------------------------------
//ファイルの入出力
//-----------------------------------------------------------------
//既にファイルがあれば読み込む
if(file_exists($savefile))[
$cnt = file_get_contents($savefile);
]
$cnt++; //1つだけ加算
//ファイルへ保存する
file_put_contents($savefile,$cnt);
//-----------------------------------------------------------------
//カウンタの値を画面に出力
//----------------------------------------------------------------
echo $cnt;
?>
</div></body></html>

もしエラーが出たら・・・
このプログラムは、カウンターを保存するために[counter.txt]という
名前のファイルを作成します、そのため、このファイルを作成するディレクトリ
にファイルを書き込む権限「パーミッション」がないと「Permission denied in・・・・・」
というメッセージが表示されます、このような場合はPHPプログラムから書き込むことが
出来るように、ファイルを置くディレクトリに書き込む権限をを与えます、Windowsなら、
ディレクトリを右クリックしてプロパティを表示させ「読み取り専用」のチェックを外します
MacOSXやLinuxならターミナルから下記のコマンドを実行します
$ chmod 705 ディレクトリ名


11/6.25    42日ずけと時間を計算する.

現在おおくのコンピュータは、時刻を表現する方法として、1970年1月1日00:00:00
GMT(GreenWitch Mean Time : グリニッジ標準時)から経過した「通算秒」を使用しています。
通算秒はコンピュータにとっては計算がしやすくて便利なのですが、人間には分かりにくいものです
、そこでPHPには通算秒を一般的な日時表現に変換する関数が用意されています、ここではPHPが
備えている日時に関連する関数を組み合わせて、日常的に使用する日付けや時刻を計算します

日付・時刻の関数色々
まず、時間計算における基本事項を再確認します

 1分=60秒
1時間 = 60分
1時間 = 60秒×60分→3600秒
1日  = 24時間×24時間60分→1440分=24時間×60分×60秒→86400秒

 このことが分かっていれば、日時に関するさまざまな計算を導きだすことができます
以降は、PHPが用意している日付け・時刻関連の関数です

time()関数(現在時刻を得る)
現在時刻を、1970年1月1日  00:00:00  GMTからの通算秒で得ます

<?php echo time() ?>
出力結果:
1256099136

date()(関数 通算秒→指定書式への変換)
通算秒を、指定する書式に合わせた文字列に変換します、次の例は、time()関数で得た
現在時刻を私達日本人に馴染みのある書式で表示しています、書式の意味はもうお気づきでしょう
Y(西暦念)、m(月)、d(日)、H(24時間制の時)、i(分)、s(秒)です
このほか、y(西暦年の下位2桁)、h(12時間制の時)なども指定できます

<?php echo data("Y-m-d H:i:s",time()) ?>
出力結果  2010-05-28  15:50:48


11/6.18    関西弁ジェネレータ

ポイント前作の「インチ→センチメートル変換」は、HTML入力フォームのGETメソッドを
用いて受け入れた利用者の入力データを、PHPの$_GET変数を使って取り出し、
計算を加えて新しい数値を表示するものでした、ここでは、もっと長い文章を扱うために
HTMLのPOSTメソッドを利用します、又、文章を置き換えする方法や、複数行の文章を入力
するテキストボックスの使い方も紹介します

<html><body>
<!-- 入力フォーム -->
<form method="post" action="kansaiben.php">
<textarea name="body" rows="5" cols="80">
ここに文章を入力しておくんなはれ、
</ textarea><br/>
<input type="submit" value="変換" />
</form>
<?php
//----------------------------------------------------------------------------
//変換処理
$body = $_POST["body"]; //入力された文章を得る
//関西弁に変換する処理
$body = str_replace('です。'、'や。'、$body);
$body = str_replace('ます。'、'まんねん。'、$body);
$body = str_replace('のです。'、'のや。'、$body);
$body = str_replace('しました。'、'してったんや。'、$body);
$body = str_replace('でした。'、'だったんや。'、$body);
$body = str_replace('いきましょう。'、'いこか'、$body);
$body = str_replace('いました。'、'いたんや。'、$body);
//----------------------------------------------------------------------------
//HTMLに変換
$body = htmlspecialchars($body);
//-----------------------------------------------------------------------------
?>
<!-- 結果の表示 -->
<textarea rows="8" cols="80"><?php echo $body; ?></textarea>
</body></html>

利用者からデータを受け取る2つの方法
利用者に入力してもらったデータをPHPプログラムが受け取るには、前後で紹介した
GETメソッドを利用する方法とPOSTメソッドを利用する方法があります
この二つの比較が下記になります
GETメソッド
・少量のデータを送るときに使う
・アクセスした時にURLにデータが表示される、すなわち、データを埋め込んだURL
でアクセスすることによって、Webサーバー側にデータを送信する
POSTメソッド
・大きなサイズのデータを送るときに使う、
・アクセスしたときにURLにデータは表示されない。利用者が入力したデータは
URLとは別のフィールド(メッセージボディー)に格納してWebサーバーに送信される

「大は小をかねる」といいますから、POSTメソッドだけあればよさそうなものですが
GETメソッドにも利点があります
GETメソッドは送信するデータをURLに埋め込む方法なので、フォームからデータを
入力する代わりにURLを作成することで同じ効果が得られます
そのよい例は検索エンジンです、Googleで「PHP」をキーワードにして検索するときは
http://www.google.com/search?q=PHP
のようなURLでアクセスすればいいのです
わざわざ検索フォームに入力しなくても、上記のようなURLでアクセスすれば、
同様の結果が表示されます、メールやWebページの文章中にこのURLを用意すれば
相手に最新の検索結果を見てもらうことができます


11/6.11    入力フォーム

入力フォームはほとんどをHTMLの<form>タグで記述しています
<form>タグから</form>タグの間に、入力フィールドテキストとなるテキストBOXや、
「変換」というラベルの送信(Submit)ボタンを配置しています

<!-- HTMLで入力フォーム作成 -->
<html><body>
<form>
<input type="text" name="f1" value="f1" /><br/>
<input type="text" name="f2" value="f2" /><br/>
<input type="submit" value="SUBMIT" />
</form>
</body></html>

入力フォームの部品色々
入力フォームには、テキストフィールドや送信ボタンのほか、チェックボックスや
ラジオボタン、パスワード入力ボックスや隠しフィールドなどを作成できます
これらは、<input>タグのtype属性によって指定できます

type属性 表示される部品
<input type="text".../> テキストボックス
<input type="password"...> パスワード入力欄
<input type="radio"...> ラジオボタン
<input tyoe="checkbox"...> チェックボックス
<input type="file"...> ファイル送信欄
<input type="hidden"...> 隠しフィールド
<input type="submit"...> 送信(Submit)ボタン
<input type="reset"...> リセットボタン

11/6.4    インチ→センチメートル変換機

利用者が入力したインチ単位の長さをセンチメートル単位に変換するPGを作成します
インチ→インチセンチメートル変換機

PHPプログラムは利用者はWebページの入力フォームに記入したデータをPHPが用意
している特別な変数$_GETや$_POSTに使って参照できます
これらの変数はそれぞれのHTMLのGETとPOSTに対応しているものです
ここでは、
少量のデータの受け取りに適しているGETメソッドを使用します

<HTML><body>
<!-- HTMLで入力フォームを作成 -->
<form>
<input type = "text" name = "inch" /> inch
<input type = "submit" value = "変換" />
</form>
<?php
//入力フォームからの値の取得
$inch = $_GET['inch']; 値の取得
$cm = $inch * 2.54; cmを計算する
?>
<!-- 結果を表示 -->
結果: <?php echo $cm ?> cm
</body></html>

11/5.14    コメント色々

先ほど説明した[//]で始まるコメント、「//」から行末までをコメント、(注釈分)
とみなすものでした、PHPは他にも「/*」「*/」までの範囲をコメントとして
扱います
この方法はC言語や、Javaといったほかの言語と同じです

//・・・・・ //から行末までをコメントとして扱う
#・・・・・   #から改行までをコメントとして扱う
/*・・・・*/ /*から*/までをコメントとして扱う

コメントはPGの中にあって、プログラムとしての意味を持たないものです
コメントを書いておけばPGを書いてしばらくたったあとや、使っていくうちにバグが
見つかって修正するときに、ぱっとみて作業を始めることが出来ます

またコメントの部分をPHPのPGと関連つけて
マニュアルを自動生成する
phpDocumentorというツールもあります



11/5.7    PHP,iniファイル

PHPの設定ファイルを変更する、ini_set()関数は、PHP基本的な設定を部分敵に変更する
ための関数です、PHPの設定は「php.ini」という名前の設定ファイルにかいてあります
このファイルを書き換えておけば、PG中に毎回コードを指定する必要はなくなります
php.iniファイルはWindows環境のXAMPPではC:\xampp\apache\bin\php.iniにあります
このファイルを開いて次の行を探し、書き換えることによって、標準の文字コードを
設定できます

default_charset="文字コード"


11/4.30    配列を使いこなす

rand()関数のPGを応用して訪問するたびに表示メッセージは変わる
ページを作ってみましょう

rand()PGではランダムな数字を表示するだけだったので、rand()関数の結果を
そのままサイコロの目として使うことが出来ました、では、メッセージ
文字列をランダムに表示するにはどうすればいいでしょうか?
ここでは表示候補のメッセージの格納に配列変数を使ってみましょう

<?php
//文字化け対策
ini_set("default_charset","utf-8");
//配列変数の初期化
$message = array(
'訪問ありがとうございます',
'こんにちは又みにきてください',
'phpはだいぶ分かってきましたか?',
);
//ランダムな値を得る
$index = rand(0, count($message)-1); 表示するメッセージをランダムに選ぶ
//結果を出力
echo $message[$index];
?>

実プログラムが日本語のメッセージを含んでいるので、文字コードをUTF-8で保存しておきます
XAMPPでApacheを起動し、Webブラウザから今作ったPGにアクセスするとプログラム中に
用意したメッセージのどれか1文が表示されます、さらにブラウザの更新ボタンを何度か
押してみましょう、そのたびにページがリロードされ別のメッセージが表示されます


11/4.23    配列変数の初期化

往々にしてあることですが、配列変数の要素を1つずつ初期化するのは面倒です
そこで、配列変数をまとめて初期化する方法があります
<?php
//配列変数の初期化
$menus = array("apple"."coffee"."banana"."orange");
//値の確認
echo $munus[0]; [apple]を出力
echo $munus[1]; [coffee]を出力
echo $menus[3]; [orange]を出力
?>

出力結果
applecoffeeorange

連想配列も、似ている方法で初期化できます
<?php
//連想配列の初期化
$price = array("apple" => 180, "banana" => 230, "pine" => 340);
//値の確認
echo $price["apple"]; 要素appleの値「180」を出力
echo $price["pine"]; 要素のpineの値「340」を出力
?>

出力結果180340


11/4.17    配列変数ぞろぞろ

配列配列変数は、複数の値を覚えておくことが出来る変数です
配列変数をタンスに例えれば、配列変数内の各要素はタンスの引き出しのような物です
配列変数内の各要素は、0から始まるインデックス値で指定します
<?php
//配列変数への代入
$value[0] = 3; インデックス0(1番目)の要素に「3」を代入
$value[1] = 4; インデックス1(2番目)の要素に「4」を代入
$value[2] = 2; インデックス2(3番目)の要素に「2」を代入
//合計値の出力
echo array_sum($value); 配列変数内の要素の合計を出力
?>

出力結果9


11/4.9    変数の注意

変数の型は、下の表にあるような関数を使って明示的に変更することもできます、
以下は、文字列型に変数を数値型に変換している例です、ところで、このとき変数に
「バナナ」という文字列が入っていたとしたらどうなるでしょうか?
数字以外の文字列を強制的に数値型に変換すると、0という数値になってしまうので注意してください

<?php
$v = "40"; 変数$vに文字列"40"を代入
$v = intval($v); 変数$vの型を数値に変換
$total = $v + 100; 数値変数$vを計算に使用
echo $total;
?>

出力結果;
140

型判定の関数
関数名 機能
intval() 値を整数に変換する
floatval() 値をfloat型に変換する
strval() 値を文字列に変換する


11/4.2    この変数はどんな型?

この変数はどんな型?
変数にどの型の値が入っているかは、gettype()関数を使って確かめることが出来ます

<?php
$a = 34; 数値を代入
$b = "abc" 文字列を代入
$c = TRUE; 論理値を代入
echo gettype($a); 「integer」が出力される
echo gettype($b); 「string」が出力される
echo gettype($c); 「boolean」が出力される
?>

出力結果
integerstringboolean

また、値が数値かどうか判断するis_numeric(),文字列かどうかを判断するis_string()
などの、型判定用の関数が用意されています

型判定用の関数
関数 判定の内容
is_numeric 数値かどうか
is_int() 整数かどうか
is_float() 実数型かどうか
is_string() 文字列型かどうか
is_bool() 論理型かどうか
is_object() オブジェクトかどうか
is_array() 配列かどうか
is_null() 値がヌル(NULL)かどうか

11/3.27     変数の型いろいろ

変数には数値や文字列といった「型」があることを書いたと思います、他にも
論理型、配列型、オブジェクト型、リソース型など、8種類の型があるので紹介します
今は分からないかもしれませんが、あとでこの変数が登場したときに、読み返すと
いいと思います

基本的な(スカラー)型には下の物があります
・整数(integer)
・浮動小数点数(float/double)
・文字列(string)
・論理型(boolean)

浮動小数点型は、実数を表すのに使います、また論理型の変数は、数値、文字列に次いで
よく使うものです、論理型の変数にはTRUEかFALSEの2つの状態を示す値の
どちらかが格納されます、論理型については、あとで登場したときに説明しましょう
このほかにも下のような型もあります

複数の値をもつことができる複合型の値:
・配列(array)
・オブジェクト(object)
そのほかの特別な値;
・リソース(resouce)
・ヌル(NULL)

11/3.19     書式化する

PHPでは、文字列を整形して一定の書式で出力することが良くあります、
そのときに役立つのが、sprintf()という関数。

sprintf(書式の指示、値1、値2、値3・・・)
書式の指示には「%s」や「%03d」などの「%」から始まる記号を使います
次のPGは第一引数の文字列え「%s」と書かれた部分に、第二引数の値を埋め込んで表示します

<?php
$s = sprintf("天気は%sです。"."晴れ");
echo $s;
?>

出力結果:
天気は晴れです

値を文字列に埋め込むだけなら文字列の埋め込みに方が簡単に思えますが、sprintf()を
使えば桁数などを細かく指定できます、下記表は、代表的な書式文字列と、それを使った
結果をまとめたものです

代表的な書式文字列
書式の例 値 結果 意味
%5s abc _abc 桁揃え
%5s test _test 桁揃え
%05d 12 00012 ゼロ埋め
%05d 1234 01234 ゼロ埋め
%x 255 FF 数値を16進数で表示する
%% - % [%]を表示するときに用いる

11/3.12     文字列の中に変数を埋め込む

PHPは文字列の中に変数の内容を埋め込むのが得意で、実際によく使います
やり方は簡単、文字列の中に「$value」のように変数名を書くだけです
<?php
$name = "金子";
$age = 32;
$s = "私は$name です。年齢は$age 歳です";
echo $s;
?>

出力結果:
私は金子 です。年齢は32 歳です。

11/3.5     文字列の連結

文字列は、ドット「.」という連結演算子を使って、他の文字列や数値と連結できます
連結した文字列を表示する例は下になります

<?php
$header = "好きな動物は、";
$body = "犬";
$footer = "です!";
//文字列を連結して表示
$kekka = $header.$body.$footer;
echo $kekka;
?>

出力結果;
好きな動物は、犬です!

になります

11/2.27     数値と文字列

PGの中で扱うのは数値だけではありません、文章やさまざまなデータを数値として
扱います、PGの世界では、文字が連なる文章データを「文字列」と呼びます
PHPでは、変数に数値でも代入することができます
<?php
$v = 40; 数値を代入
$v = "バナナ"; 文字列を代入
?>

文字列のデータは数値と区別するために、プログラムの中ではダブルクォーテーション
「"」かシングルクォーテーション「'」で囲んで表記します

11/2.20     変数の学習

前回変数の話をしましたが、この変数ってC言語ではわりと当たり前に使うこと
なので、僕は頭の中にすぐ入ってきましたがまだ理解できない人のために
もうちょっと説明しますね

変数を使うと、数値や文字列などの値に意味をつけることが出来るので
プログラムが読みやすくなります
以下は変数を使ってスーパーで買い物をするPGです
リンゴ(apple)やミカン(orange)の値段と個数を変数に代入しておき、
その後変数を使って支払い金額を算出しています

<?php
//変数に値を設定
$apple_price = 150;
$apple_count = 5;
$orange_price = 80;
$orange_count = 12;
$tax_tate = 0.05;
//変数を使って計算
$total = $apple_price * $apple_count + $orange_price * $orange_count;
$siharai = $total + floor($total * $tax_rate);
//結果を表示
echo $siharai;
?>

出力結果 10458

もし変数を使わずに書いたら以下のようになります
echo floor((150*5+80*12)*1.05)

その場で計算結果を出力するだけなら、この方が短く書けていいのですが
でもあとから内容を見直したり、ちょっと手直しして再度利用する場合や
プログラムが数百行になった場合、そのほとんどがこのような数式だった場合どうでしょう??
変数に意味のある分かりやすい名前にしておくと、読みやすくてバグ「間違い」
のないPGを作ることが出来ます

11/2.12      変数

変数について
変数とは数値や文字列などの値を覚えておくことが出来る「入れ物」のようなものです
PHPの変数は、「$var」「$foo」のような形をしています、まず下を見てください
<?pho
$var = 30; 変数varに値30を代入
echo $var; 変数の内容を出力
?>

11/2.6      CS5フォトショップの設定

1
パフォーマンス
 1 メモリの使用状況を76パーセント前後に

 2 ヒストリーの初期設定数は20だが増やすことが出来る、しかしあまり増やすと
かえって煩雑になる、ヒストリー数は40、キャッシュメモリは8に

 3 仮想記憶ディスクはCドライブ以外にチェックを入れる

Cはパソコンの働きを司る重要な領域なので、これに負担をかけすぎると
全体が壊れてしまう恐れがある


1 カーソル
「ブラシ先端」と「ブラシ先端に十字を表示」、「精細」の三ヶ所ににチェックを
入れる
カーソルを標準にしておくと、先端がツールの形状になってしまい、作業を正確に
行えなくなる、例えばスタンプツールで作業をするとブラシ先端がスタンプツールの
アイコンになってしまう

3
1 単位
初期設定がインチ(inch)になっていたらセンチ(cm)に変更する
「定規」「コラムの大きさ」

2 新規ファイル解像度のプリセットはそのまま「ピクセル・インチ 」

11/1.30      CS5フォトショップの初のトラブル

CS5フォトショップの初のトラブル

今までCS2から使っているのですがCS5になって一つだけ問題が出ました
それは多分なのですが、CS5自体がまだ日本バージョンに完全に対応していないのかな何て
思いました、それは手動だと写真をWEBおよびデバイス用に保存が出来るのですが

僕の場合は写真をいつも同じサイズに保存しWEBおよびデバイス用に保存することが多いいので
アクションと言う機能使うことが多いいのですが
アクションで何回やり直してもサブォルダが見つからないとか保存先フォルダが
見つかりませんと出るのです、今までは流れとしては1:画像解像度 2:保存
3:閉じる ;と言う流れで保存時に分かりやすいしデスクトップでいいやと
思っていたのですが、そこが駄目だったみたいです、例で言うと

C:\Documents and Settings\Administrator\デスクトップ

↑だった場合、デスクトップの部分がカタカナなので無理みたいです
んでC:\に直接保存先フォルダを作ったら改善されました=
完全にまだ日本語仕様にされていないような気がしました
少なくとも今までアクションはCS2~CS4まではトラぶったことが無かったので
正直びっくりしましたが、無事かたずきました★

11/1.22       Cと同じ

下記はPHPを電卓代わりに使うPGです
ただ単に表示する場所がネットワークなだけです
<?php
echo 1+2*3;
?>
結果は7と出たはずです

演算子 意味 利用例 結果
+ 足し算(加算)  1+2 3
- 引き算(減算)  5-3 2
* 掛け算(乗算)  2*3 6
/ 割り算(除算)  6/3 2
% 割り算の余り(剰余) 7%4 3
() カッコ (1+2)*3 9

注意
カッコがない場合は足し算よりも掛け算が優先して計算されます

11/1.15       echo rand

画面に文字を表示するechoとprint命令

echo"xxx"のように記述すると、好きなメッセージやHTMLのタグを出力する
ことが出来ます

乱数 rand(,)
数字の部分には乱数(ランダムな数値)を得るためにrand()関数を利用しました
rand(最小値,最大値)
ですので前回書いたPGではrand(1,6)でしたが、rand(1,200)と書けば
1-200の範囲のいずれかの数が表示されます

11/1.8       前回のpg改造

前回のPGで実行すると、数字が小さいなと感じた場合には
フォントサイズを変えることが出来ます
その場合にはPHPのタグの外側に、HTMLの記述で文字を大きく
することが出来ます

<div style="font-size:150px"> フォントサイズを指定するHTMLタグ

<?php
echo rand(1,6);
?>

</div>

11/1.1       番号表記

番号表記のPGです
<?php
echo rand(1,6);
?>

実行すると表示するたびに、数字が変わります