PHP⇒URL

PHP⇒URL(Uniform Resource Locator)にリンクします。

PHP⇒imagerand.php

  1. "call_url.php" から "imgrand.php" を呼び出します。
    PHP から URL にリンクする(呼び出す)ときは require($url) を使います。
    <?php
        sleep(5);
        require("imgrand.php");
    ?>
    
  2. 呼び出される "imgrand.php" は Image Rand で作成済みです。
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=shift_jis">
    <title>Image Rand</title>
    </head>
    <body>
    <h2>random 5-10</h2>
    <?php
        $n= rand(5,10);
        for($i=0; $i<$n; $i++)
        {   print "<IMG SRC=\"img/jewel.gif\">\r\n";
        }
    ?>
    </body>
    </html>
    
  3. ローカル環境でビルトインサーバーを使ってテストしてみます。
    ビルトインサーバーの説明は PHP Install から「ビルトインサーバーを使う」を参照して下さい。
    1. コマンドプロンプトを起動して php.bat を実行します。
    2. ブラウザを起動して http://localhost:8000/call_url.php をURLに貼り付けると、5秒後に "imgrand.php" が呼び出されて5個~10個の石が表示されます。
    3. 実行が終われば、コマンドプロンプトの画面で CTRL-c(Ctrl を押しながら c キーをタイプ)でビルトインサーバーを終了して下さい。
  4. 私がお借りしているサーバーからなら、ビルトインサーバーを使わなくても起動できます。
    次のリンクをクリックするとサーバー上の "call_url.php" が呼び出されます。
    "call_url.php" が呼び出されると、5秒後に "imgrand.php" を呼び出します。
    "imgrand.php"を呼び出す
  5. 次はビルトインサーバーを使って "http://localhost:8000/php_url.html" (このページ)をURLに貼り付けて下さい。
    このページがビルトインサーバーから起動されると、次のリンクから "call_url.php" を呼び出すことが出来ます。
    Call A と Call B を同時に起動してみて下さい。
    Call A(call_url.php⇒imagerand.php)
    Call B(call_url.php⇒imagerand.php)
  6. ページ先頭のソースコードでも動くのですが "call_url.php" の体裁を整えてみました。
    画面が表示されるのは5秒後です。
    <html>
    <head><title>Call PHP</title></head>
    <body>
    <h2>imgrand.php を呼び出す</h2>
    <?php
        sleep(5);
        require("imgrand.php");
    ?>
    </body>
    </html>
    

    PHP⇒file_get.php

  7. "call_url.php" を修正して "file_get.php" を呼び出してみます。
    <html>
    <head><title>Call PHP</title></head>
    <body>
    <h2>file_get.php を呼び出す</h2>
    <?php
        require("file_get.php");
    ?>
    </body>
    </html>
    
  8. 呼び出される "file_get.php" は ファイルの入力 で作成済みです。
    (入力する "test.txt" ファイルも必要です)
    <?php
        // test.txt を入力する
        if (($fp = fopen("test.txt","r")))
        {   while(!feof($fp))
            {   print(fgets($fp) . '<br>');
            }
            fclose($fp);
        }
    ?>
    

    PHP⇒param_get.php

  9. "call_url.php" を修正して "param_get.php" を呼び出してみます。
    ★このプログラムは正常に実行出来ません
    require() で呼び出すことが出来るのは、パラメータ無しの PHP だけでしょうか?
    <?php
        sleep(5);
        require("param_get.php?v1=1&v2=23&v3=XYZ");
    ?>
    
  10. 呼び出される "param_get.php" は GET Parameter で作成済みです。
    <?php
        $v1= $_GET["v1"];
        $v2= $_GET["v2"];
        $v3= $_GET["v3"];
        print "<p>$v1<br>$v2<br>$v3<br></p>";
    ?>
    

PHP⇒私のページ

  1. require() からは html を呼び出すことが出来ないようなので?、JavaScript を使って呼び出してみます。
    call_url.php を修正して、私のページを呼び出します。
    ビルトインサーバーを起動して http://localhost:8000/call_url.php を URL に貼り付けます。
    <html>
    <head><title>Call URL</title></head>
    <body>
    <h2>URL を呼び出す</h2>
    <script type="text/javascript">
    function Link_URL()
    {   location.href = "http://www.eonet.ne.jp/~maeda/index.html";
    }
    </script>
    
    <?php
        sleep(5);
        print("<script type='text/javascript'>\n");
        print("Link_URL()");
        print("</script>\n");
    ?>
    </body>
    </html>
    

    PHP⇒google のページ

  2. call_url.php から google のページを呼び出します。
    <table border="1"><tr><td><pre>
    <html>
    <head><title>Call URL</title></head>
    <body>
    <h2>URL を呼び出す</h2>
    <script type="text/javascript">
    function Link_URL()
    {   location.href = "http://www.google.co.jp/";
    }
    </script>
    
    <?php
        sleep(5);
        print("<script type='text/javascript'>\n");
        print("Link_URL()");
        print("</script>\n");
    ?>
    </body>
    </html>
    

    PHP⇒param_get.php

  3. require() では呼び出せなかった param_get.php を Javascript を使って呼び出します。
    「.」は文字列の連結で「"var v3 = '"」と $v3 と「"';\n"」を連結しています。
    Link_URL() 関数から location.href を使うとうまく呼び出すことが出来ました。
    <html>
    <head><title>Call URL</title></head>
    <body>
    <h2>URL を呼び出す</h2>
    <script type="text/javascript">
    function Link_URL(v1, v2, v3)
    {   str= "param_get.php?v1=" + v1 + "&v2=" + v2 + "&v3=" + v3;
        window.alert(str);
        location.href = str;
    }
    </script>
    
    <?php
        sleep(5);
        $v1= 1;
        $v2= 23;
        $v3= "XYZ";
        print("<script type='text/javascript'>\n");
        print("var v1 = $v1;\n");
        print("var v2 = $v2;\n");
        print("var v3 = '" . $v3 . "';\n");
        print("Link_URL(v1, v2, v3)");
        print("</script>\n");
    ?>
    </body>
    </html>
    
  1. JavaScript は、クライアント側のブラウザによって実行されるのに対して、PHP はサーバー上で実行されます。
    PHP が吐き出すコードは HTML 文、または JavaScript のコードです。
    JavaScript が吐き出すコードは HTML 文、または PHP のコードです。
    JavaScript で PHP のコードを吐き出すときは、生成されたコードでサーバーを呼び出します。
    例えば「Image Click」では、JavaScript で吐き出したコードで "img.php" を呼び出します。
    <script type="text/javascript">
    function MouseClick(num)
    {
        str = "img.php?val=" + String(num);
        location.href = str;
    }
    </script>
    
  2. PHP を呼び出す例題は、次のページを参考にして下さい。
    Anser Jump
    JavaScript Function Call
    JavaScript でボタンを並べる
    Image Click

前田稔の超初心者のプログラム入門
PHP Program