ファイルからの読み込み - PHP

PHPでファイルを読み込みその内容を表示します。

コード例

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title></title>
  </head>
  <body>
    <?php
    $file = 'data.txt';
    $text = file_get_contents($file);
    $text = htmlspecialchars($text);
    ?>
    <textarea name="contents" cols="80" rows="10"><?php echo($text); ?></textarea>
  </body>
</html>

解説

変数に開くファイル名を代入します。(代入が必須ではありません。直接 file_get_contents('data.txt')としても問題ありません。)
  $file = 'data.txt';

file_get_contents()関数を呼び出しファイルの内容をすべて読み出します。読み出した内容は$text変数に代入されます。
  $text = file_get_contents($file);

htmlspecialchars()関数を呼び出し、特殊文字をHTMLエンティティに変換します。
具体的には
  • '&' (アンパサンド) は '&amp;' に変換します。
  • ENT_NOQUOTES が設定されていない場合、 '"' (ダブルクォート) は '&quot;'に変換します。
  • ENT_QUOTES が設定されている場合のみ、 ''' (シングルクオート) は '''に変換します。
  • '>' (小なり) は '&lt;' に変換します。
  • '<' (大なり) は '&gt;' に変換します。
の変換処理をします。
  $text = htmlspecialchars($text);

textareaタグ内に変換後の$text変数の内容を出力します。テキストボックス内にファイルの内容が表示されます。
<textarea name="contents" cols="80" rows="10"><?php echo($text); ?></textarea>

実行結果


参考 (textareaタグ内にphpのコードを記述した場合)

コード例

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title></title>
  </head>
  <body>
    <textarea name="contents" cols="80" rows="10">
      <?php
      $file = 'data.txt';
      $text = file_get_contents($file);
      $text = htmlspecialchars($text);
      echo($text);
      ?>
    </textarea>
  </body>
</html>

解説

textareaタグ内にPHPのコードを記述した場合、インデントやタブなどにより表示するテキストの手前に空白が入ってしまいます。先のコード例のようにtextareaタグ内には変数の出力コードのみを記述したほうがよさそうです。

実行結果



著者
iPentecのプログラマー、最近はAIの積極的な活用にも取り組み中。
とっても恥ずかしがり。
最終更新日: 2024-01-06
作成日: 2011-02-02
iPentec all rights reserverd.