画面サイズ(横:/縦:
2023130()1926
午後7時を過ぎました。もう夜になりましたね。
Topページへもどる
前のページへもどる

PHPとは?

PHPとはどんな言語?

「もともとは、個人的なホームページ用に作られたサーバーサイド・スクリプト言語の 「 ersonal  ome  age」の頭文字の略であったが、バージョン3.0以降は HP: ypertext reprocessor の略であるとされるようになった。」 とPHP関連の本には書いてあります。
 HTMLファイルの中に組み込んで利用する「スクリプト言語」の一種です。 最近、注目を浴びている「サーバーサイド・プログラング言語」のひとつです。 「MYSQL」などのWebデータベースソフトと連携して、Web上の(インターネット上に限らず、 自宅や会社などのネットワーク上の)Webデータベース構築にも使われています。
(「サーバーサイド」の意味は「 サーバー上で動作する」、「 スクリプト言語」とは「 ソースコードをすぐに動かす」ができるプログラム。」という意味です。)

PHPのメリットは何?

【メリット(1)】 プログラムを隠すことできる。
 JavaScript(ジャバスクリプト)やHTML・CSSは自分が「苦労に苦労を重ねて作ったプログラム」を 隠すことは出来ません。その点、PHPで作ったプログラムは隠すことが出来るので「まあまあ安心」です。

【メリット(2)】 サーバー側で処理するのでクライアントの環境に左右されずに実行できる。
 サーバー側で処理して結果だけを返す仕組みになっているので、 クライアント(インターネットに接続するパソコン)がどんな環境になっていても サーバー側で実行して結果だけを表示させることができます。
 JavaScriptで作成したプログラムは相手のパソコンがJavaScriptを無効にしている場合は 実行させることが出来ません。
 また、JAVA(ジャバ)で作ったプログラムは、一般的にはJAVA関連の特別なソフトウエアが インストールされていないパソコン上では実行出来ません。JAVA関連の特別なソフトウエアが インストールされていなくても実行させる方法もあります。

【メリット(3)】 習得が容易で比較的新しい言語である。
 CGI(Common Gateway Interface) もPerl言語などを用いて作成し、サーバー側で処理して 結果だけを返す仕組みですが、習得が難しいと言われています。 私も、CGIやPerlをかじりましたが、忙しさに負けて挫折しています。 その点PHPは習得も容易です。 あるPHPの本には「CGIはもっとも古典的な技術である。」と書かれています。

PHPの歴史

PHPの誕生
 1994年(平成6年)に、デンマーク系カナダ人のプログラマー「 ラスマス・ラードフ(Rasmus Lerdorf) 氏 がプログラミング言語PHPの最初のバージョンである PHP/FI("Forms Interpreter" の略)を開発しました。 「form」には「形」、「型枠」などの意味があり、「Interpreter(インタプリタ)」は「通訳」、「翻訳」という意味があります。 また、スイスにルーツを持つイスラエル人プログラマー「 アンディ・ガトマンズ 」氏や、イスラエル人プログラマーの「 ゼーブ・スラスキー 」氏らと共に、PHPの後継バージョンの開発にも携わりました。
(※「PHP マニュアル~PHPの歴史」、「フリー百科事典『ウィキペディア』」より引用、一部詳細説明を追加)

最新のPHPのバージョンは?

準備中です

このページのPHPのプログラム

※スマートフォンでは見れません。パソコンでご覧ください。
HTMLソースを実する前に実行されるPHPプログラムです。
    
<?php
    header("Content-Type: text/html; charset=UTF-8");
    // PHPの初期設定
    ini_set('mbstring.language', 'ja');
    ini_set('mbstring.internal_encoding', 'UTF-8');

    // -----------------------------------------------------------------------------------------
    // 【前のプログラム】:「../index.php」
    // 【次のプログラム】:「.php」
    // -------------------------------------------------------------------------------------

    // サーバー名を取得する
    $server_mei = $_SERVER["SERVER_NAME"];

    // ------------------------------------
    // 前のプログラムから認証情報を受け取る
    // ------------------------------------
    if(isset($_GET["ninsyouJyouhou"])){
        $ninsyouJyouhou = $_GET["ninsyouJyouhou"];
        }
        else{
        $ninsyouJyouhou = "認証情報が見つかりません。";
    }

    // ------------------------------------------------------
    // ローカルストレージに保存してあるデータを読み取る
    // ------------------------------------------------------
    $GamenWidth = '<script>
    document.write(window.localStorage.getItem("画面横サイズ"));
    </script>';
    $GamenHeight = '<script>
    document.write(window.localStorage.getItem("画面縦サイズ"));
    </script>';

    // 日時情報を取得する
    //タイムゾーンを日本の時間に設定
    date_default_timezone_set('Asia/Tokyo');
    $Now = getdate();
    $Nen = $Now["year"];
    $Tuki = 1*$Now["mon"];
    $Day = $Now["mday"];
    $Ji = $Now["hours"];
    $Fun = $Now["minutes"];

    // ----------------------------------------------------------------------------
    // 前のプログラムから受け取った「認証情報」をチェックする
    // 「認証情報」の中のタイムスタンプを抽出して1分経過していればメニューに飛ばす
    // ----------------------------------------------------------------------------
    $kirokuTstamp = substr($ninsyouJyouhou, 0, 10);
    $keikaByou = time()-$kirokuTstamp;
    if($keikaByou > 60){
        header("Location: ../index.php");
    }
    if(strlen($ninsyouJyouhou) == 20){
        $ninsyouCheck = "ok";
        }
        else{
    $ninsyouCheck = "no";
    }

?>
<!DOCTYPE HTML>
<HTML lang="ja">
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<META name="viewport" content="width=device-width">
<meta name="author" content="新村 保">
<LINK REL="PREV" HREF="../../index.php">
<TITLE>新村プログラミング研究所~CANVASでグラフを描く</TITLE>
<SCRIPT type="text/javascript" src="../javaScript/ugokuBall03.js"></SCRIPT>
<LINK rel="stylesheet" href="../../../css/allDeviceCss/table_settei.css" type="text/css">
<LINK rel="stylesheet" href="../../../css/allDeviceCss/fontSoutaiSettei.css" type="text/css">
<LINK rel="stylesheet" href="../../../css/allDeviceCss/style_syosettei.css" type="text/css">
</HEAD>
<body onload="wakusenHyouji();">
<DIV class="wakuNasiHaba100_table">
<TABLE>
<TBODY>
<TR>
    <TD colspan="2" class="usuBlue">
        <span class="large-blue-b">縮小しながら動くボール</span>
        <span class="medium-red-b"> (</span>
        <span class="medium-blue-b">スタート</span>
        <span class="medium-red-b">をクリックしてください。)</span>
    </TD>
</TR>
<TR>
    <TD>
        <canvas width="600" height="550"  id="ugokuBall03" style="background-color:white;">
        図形を表示するには、ブラウザが「canvas(キャンバス)」に対応している必要があります。
        </canvas>
    </TD>
    <TD style="vertical-align: top;">
        【canvasのサイズ】600×550<br>
        <?php
        echo "<span class='medium-blue-b'>  画面サイズ(横:</span>";
        echo "<span class='medium-red-b'>" . $GamenWidth . "</span>";
        echo "<span class='medium-blue-b'>/縦:</span>";
        echo "<span class='medium-red-b'>" . $GamenHeight . "</span>";
        echo "<span class='medium-blue-b'>)</span>";
        echo "<br>";
        // ----------------------------------------------
        // 認証情報チェックが「ok」のときに動作可能にする
        // ----------------------------------------------
        if($ninsyouCheck == "ok"){
            echo "<br>";
            echo "<form name='sousaPanel'>";
            echo "<input type='button' name='start' value='スタート' onclick='ugokuBall03()'>";
            echo "  残り:<input type='text' name='nokoriFun' size='1' value='' readonly>分";
            echo "<input type='text' name='nokoriByou' size='2' value='' readonly>秒";
            echo "<hr>";
            echo " 開始:<input type='text' name='kaishiJi' size='2' value='' readonly>時";
            echo "<input type='text' name='kaishiFun' size='2' value='' readonly>分";
            echo "<input type='text' name='kaishiByou' size='2' value='' readonly>秒";
            echo "</form>";
            echo "<br>";
            }
            else{
            echo "<span class='large-red-b'>認証できません</span>";
        }
        ?>
        <br>
        <hr>
        <p><input type="button" name="clear" value="一時停止" onclick="stop()"></p>
        <hr>
        <p><A href="../pcBanMenu.php">「PC&タブレット版」のメニューへ</A></p>
        <hr>
        <p><A href="../../index.php">CANVAS(キャンバス)のメニューへ</A></p>
        <hr>
        <p><A href="../../../index.php">Topページへもどる</A></p>
    </TD>
</TR>
</DIV>
</body>
</html>
	
	

※スマートフォンでは見れません。パソコンでご覧ください。
HTMLソース
    
<!DOCTYPE HTML>
<HTML lang="ja">
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<META name="viewport" content="width=device-width">
<meta name="author" content="新村 保">
<LINK REL="PREV" HREF="../index.php">
<TITLE>PHPとは?</TITLE>
<LINK rel="stylesheet" href="../css/allDeviceCss/table_settei.css" type="text/css">
<LINK rel="stylesheet" href="../css/allDeviceCss/fontSoutaiSettei.css" type="text/css">
<LINK rel="stylesheet" href="../css/allDeviceCss/style_syosettei.css" type="text/css">
<LINK rel="stylesheet" href="../css/allDeviceCss/mobileHihyoujiCss.css" type="text/css">
</HEAD>
<BODY>
<DIV class="wakuNasiHaba100_table">
<TABLE>
<TBODY>
・
・
・
・
<TR>
    <TD style="text-align : center">
        <?php
        // ここから時刻表示のPHPプログラムを呼び出す
        $kekka = jikokuMessage($Nen, $Tuki, $Day, $youbi, $Ji, $Fun, $GamenWidth);
        ?>
    </TD>
</TR>
<TR>
    <TD>
        <A href="../index.php">Topページへもどる</A>
    </TD>
</TR>
<TR>
    <TD class="usuBlue" style="text-align : center">
        <span class="xlarge-black-b">PHPとは?</span>
    </TD>
</TR>
・
・
・
<TR>
    <TD>
        <A href="../index.php">Topページへ</A>
    </TD>
</TR>
<TR><TD><BR></TD></TR>
</div>
</TBODY>
</TABLE>
</DIV>
</BODY>
</HTML>
   
	

※スマートフォンでは見れません。パソコンでご覧ください。
上記のHTMLソースの途中から呼び出されて実行される時刻表示のPHPプログラムです。
    
<?php
// 時刻に応じたメッセージ
function jikokuMessage($Nen, $Tuki, $Day, $youbi, $Ji, $Fun, $GamenWidth){
    if($GamenWidth>500){
        echo "<span class='medium-black-b'>ただ今の時刻は</span>";
    }
    echo "<span class='medium-red-b'>" . $Nen . "</span>";
    echo "<span class='medium-blue-b'>年</span>";
    echo "<span class='medium-red-b'>" . $Tuki . "</span>";
    echo "<span class='medium-blue-b'>月</span>";
    echo "<span class='medium-red-b'>" . $Day . "</span>";
    echo "<span class='medium-blue-b'>日</span>";
    echo "<span class='medium-blue-b'>(</span>";
    echo "<span class='medium-red-b'>" . $youbi . "</span>";
    echo "<span class='medium-blue-b'>)</span>";
    // -----------------------------------------------------
    echo "<span class='medium-red-b'>" . $Ji . "</span>";
    echo "<span class='medium-blue-b'>時</span>";
    if($Fun < 10){
        echo "<span class='medium-red-b'>0" . $Fun . "</span>";
        }
        else{
        echo "<span class='medium-red-b'>" . $Fun . "</span>";
    }
    echo "<span class='medium-blue-b'>分</span>";
    if($GamenWidth>500){
        echo "<span class='medium-black-b'>です。</span>";
    }
    echo "<BR>";
    // ------ 午前11時までの場合 -------------------------------
    if(($Ji <= 11) and ($Fun < 30)){
        echo "午前" . $Ji . "時を過ぎました。";
        if(($GamenWidth>0) and ($GamenWidth<500)){
            echo "<br>";
        }
    }
    if(($Ji <= 11) and ($Fun >= 30)){
        $nkoriFun = 60-$Fun;
        echo "<span class='medium-red-b'>あと" . $nkoriFun . "分</span>";
        $hyoujiJi = 1*$Ji+1;
        echo "で" . $hyoujiJi . "時です。";
    }
    // ---- 昼の12時から13時の間の場合 -------------------------------
    if(($Ji == 12) and ($Fun < 30)){
        echo "お昼の" . $Ji . "時を過ぎました。";
        if(($GamenWidth>0) and ($GamenWidth<500)){
            echo "<br>";
        }
    }
    if(($Ji == 12) and ($Fun >= 30)){
        $nkoriFun = 60-$Fun;
        echo "<span class='medium-red-b'>あと" . $nkoriFun . "分</span>";
        echo "で1時です。";
    }
    // ----- 午後1時から午後11時の間の場合 ------------------------------
    if(($Ji >= 13) and ($Ji < 23) and ($Fun < 30)){
        $hyoujiJi = 1*$Ji-12;
        echo "午後" . $hyoujiJi . "時を過ぎました。";
        if(($GamenWidth>0) and ($GamenWidth<500)){
            echo "<br>";
        }
    }
    if(($Ji >= 13) and ($Ji < 23) and ($Fun >= 30)){
        $nkoriFun = 60-$Fun;
        echo "<span class='medium-red-b'>あと" . $nkoriFun . "分</span>";
        $hyoujiJi = 1*1*$Ji-11;
        echo "で午後" . $hyoujiJi . "時です。";
    }
    // ------ 午後11時から午前0時の間の場合 ----------------------
    if(($Ji == 23) and ($Fun < 30)){
        echo "午後11時を過ぎました。";
        if(($GamenWidth>0) and ($GamenWidth<500)){
            echo "<br>";
        }
    }
    if(($Ji == 23) and ($Fun >= 30)){
        $nkoriFun = 60-$Fun;
        echo "<span class='medium-red-b'>あと" . $nkoriFun . "分</span>";
        echo "で午前0時です。";
    }
    // ------------------------------------------
    // 追加メッセージ
    // ------------------------------------------
    if($Ji == 0 ) {
        $msg2 = "まだ起きているのですか?";
    }
    if($Ji == 1 ) {
        $msg2 = "深夜にご苦労さま!";
    }
    if($Ji == 2 ) {
        $msg2 = "まだ起きているのですか?";
    }
    if($Ji == 3 ) {
        $msg2 = "まだ起きているの? もう起きたの? どっちかな?";
    }
    if($Ji == 4 ) {
        $msg2 = "もう起きたの? ご苦労さま!";
    }
    if(($Ji >= 5) and ($Ji < 8)) {
        $msg2 = "おはようございます。";
    }
    if(($Ji >= 8) and ($Ji < 10)) {
        $msg2 = "今日も一日頑張りましょう!";
    }
    if($Ji == 10) {
        $msg2 = "「こんにちは」かな?";
    }
    if($Ji == 11) {
        $msg2 = "もうすぐお昼になりますね。";
    }
    if($Ji == 12) {
        $msg2 = "昼ごはん食べましたか?";
    }
    if($Ji == 13) {
        $msg2 = "午後も仕事や勉強で頑張りましょう!";
    }
    if(($Ji >= 14) and ($Ji < 16)) {
        $msg2 = "こんにちは!";
    }
    if($Ji == 16) {
        $msg2 = "そろそろ夕方になりますね。";
    }
    if($Ji == 17) {
        $msg2 = "もう夕方になりましたね。";
    }
    if($Ji == 18) {
        $msg2 = "こんばんわ!";
    }
    if($Ji == 19) {
        $msg2 = "もう夜になりましたね。";
    }
    if($Ji == 20) {
        $msg2 = "こんばんわ!";
    }
    if(($Ji >= 21) and ($Ji < 23)) {
        $msg2 = "今日も一日お疲れ様でした。";
    }
    if($Ji == 23) {
        $msg2 = "夜も遅くなりましたね。";
    }
    echo "<span class='medium-red-b'>" . $msg2 . "</span>";
}
?>
    
	


Topページへもどる
前のページへもどる