[PR] Galaxy Ranking 一押しサイト→→ ♪楽天infoseek♪ [PR]
Top Page
Information
新規登録
登録規約
参加用バナー
登録変更
クリック募金
募金リンク
PHP Lab
WEB RANKING
ホームページを作る
Homewith.net
ロリポップ!
管理者情報
total:
1,234,706
登録サイト数:
263 since 2001/03/10
|
PHP
Laboratory |
|
| PHPとは |
PHP(参照)とは、サーバーサイドで実行されるスクリプト言語です。
HTML文書に動的効果を与えて表示することが出来ます。
また、CGIとして利用されるPerlよりも立ち上がりが早いことと、
各種データベースとの連携に遊離であることが一般には知られています。
そして、普及しているPerlよりも一般に記述が容易です。
PHPはHTMLファイルに、HTMLと混在させて書くことも出来ます。
PHPは、PHP: Hypertext
Preprocessorの略です。最初のPには実は意味がありません。 |
| PHPの記述方法 |
PHPスクリプトは、.php,.phtmlファイルに記述するのが普通ですが、
.htaccessなどで AddType application/x-httpd-php
.htm .html
として指定すれば.htm,.htmlファイルに記述してもPHPスクリプトを実行できます。
PHPスクリプトは、 <?php
//内容が無いよう
?>
として、必ず"<?"で始めて"?>"で終わります。
また"//"以降の一行はコメントアウトです。そこら辺は他の言語と大体一緒です。
サンプルでは"<?php"で始めていますが、"php"を書かなくても大丈夫です。
PHPはそこら辺とてもアバウトでテキトーです。
また.phpファイルや.htmファイルにPHPとHTMLを共存させるには以下の方法があります。 <?php
//内容が無いよう
?>
<html>
<body>
<!--内容が無いよう-->
</body>
</html>
このサンプルではPHPを先に実行して、後にHTMLの表示を行います。
これによって何が出来るかというと・・・
普通Perlではフレームを用いたアクセス元解析ではJavaScriptを使用しますが、
PHPを使えばフレームを用いたファイルにPHPを記述できるのでJavaScriptを必要としません。
また以下のようにHTMLの中でPHPを記述できます。
<html>
<body>
<!--内容が無いよう-->
<?php
//内容が無いよう
?>
</body>
</html>
このサンプルでは、HTMLの文書中にPHPスクリプトの実行結果が表示されます。
また、PHPはHTMLファイルから呼び出すことも出来ます。 <?include("./php/counter/counter.php");?>
またWeb上の絶対アドレスで呼び出すことも出来ます。
<?include("http://www.galaxyranking.net/php/counter/counter.php");?>
ただしこの2つでは、PHPスクリプトから見るログファイルの扱いに違いがあります。
上ではログファイルのアドレスは、呼び込みもとのHTMLファイルからの相対アドレスになります。
下では実行されたPHPスクリプトファイルからの相対アドレスです。
上の形ではURLに引数を与えられません。(というかURLじゃない)
また下の形では、$_SERVER関数が正しく得られない場合があります。
|
| PHPサンプルスクリプト |
counter.php <?
//呼び込み元からの相対アドレス
$log = './php/count/count.log';
//日付を格納
$date = date("d");
//データファイルを格納
$dat = file($log);
//データファイルから各変数へ格納
list($count, $yes, $to, $day, $ip)=explode("<>",
$dat[0]);
//重複IPチェック
if($ip != $_SERVER['REMOTE_ADDR']){
$count++;
if($date == $day){
$to++;
}
else{
$yes = $to;
$to = 1;
$day = $date;
}
$new = implode("<>", array($count, $yes, $to,
$day, $_SERVER['REMOTE_ADDR']));
$fp = fopen($log, "w");
flock($fp, LOCK_EX);
fputs($fp, $new);
fclose($fp);
}
//桁コンマをつけて出力
echo number_format($count);
?>
manage.php
<? //こっちはURLで指定したのでPHPファイルからの相対URL
$log = './count.log';
$date = date("d");
$dat = file($log);
//URL引数を得ます
$mode = $_GET['mode'];
list($count, $yes, $to, $day, $ip)=explode("<>",
$dat[0]);
switch($mode) {
case "yes":
echo number_format($yes);
break;
case "to":
echo number_format($to);
break;
default:
echo number_format($count);
break;
}
?>
URL引数は <?include("http://www.galaxyranking.net/php/counter/manage.php?mode=yes");?>
のように与えることが出来ます。 <?include("./php/counter/manage.php?mode=yes");?>
は前述の通りNG。
counter.phpはIP取得に対応、manage.phpは昨日、今日の表示に対応。
配布スクリプトでは、manage.phpはカウントアップしません。
->Download
|
| PHPメッセージボード |
| 近日公開予定!! |
|
[PR] Galaxy Ranking 一押しサイト→→ Homewith.netでワンランク上の住まい探し! [PR]
©2001-2008 Galaxy Ranking. All Rights Reserved. |