ファイルの入出力

サーバー上にファイルを作成するプログラムと、作成されたファイルを入力するプログラムです。

ファイルの出力プログラムを呼び出すコードです。
<a href="http://maedakobe.rw.xsi.jp/php/file_put.php">File Put</a>
次のリンクをクリックすると file_put.php が呼び出されます。
File Put

ファイルの入力プログラムを呼び出すコードです。
<a href="http://maedakobe.rw.xsi.jp/php/file_get.php">File Get</a>
次のリンクをクリックすると file_get.php が呼び出されます。
File Get

次のリンクをクリックすると PHP のトップページを入力して印字する url_get.php が呼び出されます。
PHP.html を印字

プログラムの作成

  1. File_Put.php のソースコードは ファイルの作成 と同じです。
    これをそのままサーバーにアップロードします。
    サーバーによってはセキュリティの関係で、ファイルの新規作成を拒否されることがあります。
    そのときは事前に "test.txt" に適当な文字をタイプして、アップロードして下さい。
    "test.txt" には書き込みと読み込み属性を許可して下さい。
    「die」関数は「exit」関数のエイリアスで、スクリプトの実行を終了します。
    他の言語に慣れた方は exit の方が解り易いかも知れません。
    <?php
        if (!($fp = fopen("test.txt","w")))
        {
            die('test.txt write open error');
        }
        fputs($fp,"りんご\n");
        fputs($fp,"バナナ\n");
        fputs($fp,"パイナップル\n");
        fputs($fp,"いちご\n");
        fclose($fp);
        print "test.txt Complete\n";
    ?>
    
  2. File_Get.php のソースコードは ファイルの入力 から少しだけ修正します。
    ブラウザ上では改行コード(\n)は無視されるので、全ての行が改行されずに表示されます。
    そこで一行ずつ '<br>' を追加してプリントしています。
    File_Get.php のソースコードです。
    <?php
        // test.txt を入力する
        if (($fp = fopen("test.txt","r")))
        {   while(!feof($fp))
            {   print(fgets($fp) . '<br>');
            }
            fclose($fp);
        }
    ?>
    
  3. url_get.php を Shift-JIS でタイプしてサーバーにアップロードして下さい。
    PHP のトップページ(php.html)を入力して印字します。
    <?php
        // php.html を表示する
        $url = "php.html";
        if (($fp = fopen($url,"r")))
        {   while(!feof($fp))
            {   print(fgets($fp));
            }
            fclose($fp);
        }
    ?>
    
    本来なら URL をフルパスで設定しても良いはずなのですが、何故か表示されません?
    実行環境の問題でしょうか?
      $url = "http://maedakobe.rw.xsi.jp/php/php.html";
      $url = "http://www.yahoo.co.jp/";
    

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