file_get_contents

file_get_contents で URL で指定したページのソースを取得します。

test.txt を表示

  1. ファイルサイズが小さい test.txt を取得して印字します。
    test.txt の作成は ファイルの入出力 を参照して下さい。
  2. get_test.php のソースコードを utf-8(BOM 付き)でタイプしてサーバーにアップロードして下さい。
    <html>
    <body>
    <h2>'test.txt' を印字</h2>
    <pre>
    <?php
      $url = 'test.txt';
      $contents = file_get_contents($url);
      print($contents);
    ?>
    </pre>
    </body>
    </html>
    
  3. PHP のプログラム(get_test.php)を呼び出すコードです。
    <a href="http://maedakobe.rw.xsi.jp/php/get_test.php">
    
    test.txt を印字 をクリックすると get_test.php が呼び出されます。
  4. 【実行結果】
    'test.txt' を印字
    
    りんご
    バナナ
    パイナップル
    いちご
    
  5. プログラムの説明です。
    file_get_contents($url); 関数で $url で指定したページのソースコードを取得します。

php.html を表示

  1. PHP のトップページ(php.html)の50バイト目から500バイト分を表示します。
    get_php.php のソースコードを utf-8(BOM 付き)でタイプしてサーバーにアップロードして下さい。
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    </head>
    
    <body>
    <h2>私の PHP ページを取得</h2>
    <?php
      $url = "php.html";
      $contents = file_get_contents($url,false,null,50,500);
      print($contents);
    ?>
    </body>
    </html>
    
  2. 次のリンクをクリックすると get_php.php が呼び出されます。
    php.html を印字
  3. プログラムの説明です。
    file_get_contents() で50バイト目から500バイト分を表示します。
    'php.html' は utf-8(BOM 付き)でタイプされて、このページと同じフォルダーに格納されています。
    PHP が吐き出したソースはブラウザに渡されるので、不完全な PHP の先頭ページが表示されます。

'test.txt' の Header を印字

'test.txt' は ファイルの入出力 で作成したファイルです。
  1. get_header.php のソースコードを utf-8(BOM 付き)でタイプしてサーバーにアップロードして下さい。
    <html>
    <body>
    <h2>'test.txt' の Header を印字</h2>
    <pre>
    <?php
    $url = "test.txt";
    $opts = array('http' =>
        array(
            'method' => 'GET',
            'max_redirects' => '0',
            'ignore_errors' => '1'
        )
    );
    $context = stream_context_create($opts);
    $stream = fopen($url, 'r', false, $context);
    // ヘッダ情報&ストリームのメタデータ
    var_dump(stream_get_meta_data($stream));
    // $url の実際のデータ
    var_dump(stream_get_contents($stream));
    fclose($stream);
    ?>
    </pre>
    </body>
    </html>
    
  2. 次のリンクをクリックすると get_header.php が呼び出されます。
    'test.txt' の Header を印字
  3. 【実行結果】
    'test.txt' の Header を印字
    array(9) {
      ["wrapper_type"]=>
      string(9) "plainfile"
      ["stream_type"]=>
      string(5) "STDIO"
      ["mode"]=>
      string(1) "r"
      ["unread_bytes"]=>
      int(0)
      ["seekable"]=>
      bool(true)
      ["uri"]=>
      string(8) "test.txt"
      ["timed_out"]=>
      bool(false)
      ["blocked"]=>
      bool(true)
      ["eof"]=>
      bool(false)
    }
    string(34) "りんご
    バナナ
    パイナップル
    いちご
    "
    
  4. プログラムの説明です。
    $opts で 'method' => 'GET', 'max_redirects' => '0', 'ignore_errors' => '1' を設定します。
    $context = stream_context_create($opts); で $context を設定します。
  5. $stream = fopen($url, 'r', false, $context); でファイルをオープンします。
  6. ヘッダ情報&ストリームのメタデータの印字です。
    var_dump(stream_get_meta_data($stream));
  7. $url の実際のデータの印字です。
    var_dump(stream_get_contents($stream));

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