ファイルの内容を取得する

$file_array = file($file_name);

file()は単独でファイルの中身を一行ずつ配列に格納します。

PHP4.3以降なら、配列ではなく文字列として格納するための関数も用意されています。
$str=
file_get_contents($file_name);

file.txt
1行目
2行目
3行目
4行目
5行目
スクリプト
<?php
$file_name="file.txt";
$file_array=file($file_name);
print_r($file_array); echo "<br /><br />";

$str=implode("",$file_array);
echo $str; echo "<br /><br />";
$str=nl2br($str);
echo $str;
?>
実行結果
Array ( [0] => 1行目 [1] => 2行目 [2] => 3行目 [3] => 4行目 [4] => 5行目 )

1行目2行目3行目4行目5行目

1行目
2行目
3行目
4行目
5行目

サンプルのダウンロードはこちら スクリプト / file.txt
  ※ ソースは右クリックの「名前を付けて保存/対象をファイルに保存」でスクリプトは「****.php.txt」になっていますので、拡張子の.txtを削除して「****.php」で保存してください。テキストファイルの拡張子は「***.txt」のままで構いません。

$file_array=file($file_name);
これは $file_array=file("file.txt"); でも構いません。

print_r($file_array); echo "<br /><br />";
print_r()は配列の中身を確認するときに使います。表示後に改行させるためechoで改行タグを出力しています。

$str=implode("",$file_array);
implodeは配列を連結します。ここでは配列の中身を1つにまとめるために、空文字で連結しています。
$str=implode("<br />",$file_array);
とすると、改行タグ付きで連結されます。 ただ、この方法では改行コード(\n)の後に改行タグ(<br />)が付くことになります。
また、implode()とjoin()は全く同じです。perlによるCGIからの移行者はjoinを使うことが多いようです。

PHP4.3以降であれば、file()+implode()の代わりに、file_get_contentsを使用することができます。
$str=file_get_contents($file_name);
これは、ファイルの中身を配列ではなく文字列として取得します。配列を空文字でimplodeしたのと同じです。

$str=nl2br($str);
nl2br()は改行コードの前に改行タグを付け加えます。PHP4.05以前は<br>タグが、以降は<br />タグになります。

アンケート

評価を選んで下さい

参考になった
理解できたが参考にはならなかった
理解できなかった

該当するものを選んで下さい

書かれていることが難しい
書かれていることが理解しやすい
内容が乏しい
内容が充実している

感想や意見があれば記入して下さい。
サイト作りの参考にさせていただきます。

このページのトップへ ▲