テキストファイルの利用 (1/7)
作成:2010-12-05 11:35
更新:2010-12-05 11:35
更新:2010-12-05 11:35
■テキストファイルを読み込む
テキストファイルの内容を読み込んで表示するのは、PHPでは驚くほど簡単です。そのまんま、「指定したテキストファイルを読み込んで表示する」ということをやってくれる関数が用意されているのです。
実際にやってみましょう。まず、テキストファイルを用意しましょう。実行するPHPファイル(ここでは、index.php)と同じ場所に「data.txt」というテキストファイルを用意してください。そしてその中に適当にテキストを書いておきます。これは、PHPと同様にUTF-8のエンコードで保存をしてください。エンコードが違っていると文字化けを起こしてしまいますから。
ファイルを用意したら、スクリプトを用意しましょう。index.phpに、下のリストのように記述をします。そしてページにアクセスしてみてください。テキストファイルの中身がそのまま表示されるはずです。
ここで使っているPHPのスクリプトは、ボディ部分に書いてあるわずか1行の関数のみです。以下の部分ですね。
ただし、実際にやってみるとこれではいろいろと不満も出てきます。まず、複数行のテキストが書いてあっても、改行されないで表示されます。HTMLでは、<br>タグを使って改行を指定してやらないといけませんから。readfileは、改行を自動的に<br>に変換してくれたりはしないのです。
また、取り出したテキストをまとめて書きだすので、部分的になにか処理をしたい場合にはこれは使えません。あくまで、「中身をまるごとそこに出す」というだけのものなのですね。
実際にやってみましょう。まず、テキストファイルを用意しましょう。実行するPHPファイル(ここでは、index.php)と同じ場所に「data.txt」というテキストファイルを用意してください。そしてその中に適当にテキストを書いておきます。これは、PHPと同様にUTF-8のエンコードで保存をしてください。エンコードが違っていると文字化けを起こしてしまいますから。
ファイルを用意したら、スクリプトを用意しましょう。index.phpに、下のリストのように記述をします。そしてページにアクセスしてみてください。テキストファイルの中身がそのまま表示されるはずです。
ここで使っているPHPのスクリプトは、ボディ部分に書いてあるわずか1行の関数のみです。以下の部分ですね。
<?php readfile("data.txt"); ?>この「readfile」というのが、その後の()内に指定したファイルを読み込んでその場に書き出す関数です。テキストを表示したい場所にこれを書いておくだけで、そこにファイルの中身が書き出されます。echoで出力する必要もありません。ただ、readfileだけでいいんです。
ただし、実際にやってみるとこれではいろいろと不満も出てきます。まず、複数行のテキストが書いてあっても、改行されないで表示されます。HTMLでは、<br>タグを使って改行を指定してやらないといけませんから。readfileは、改行を自動的に<br>に変換してくれたりはしないのです。
また、取り出したテキストをまとめて書きだすので、部分的になにか処理をしたい場合にはこれは使えません。あくまで、「中身をまるごとそこに出す」というだけのものなのですね。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>sample page</title> </head> <body> <h1>Hello PHP!</h1> <p><?php readfile("data.txt"); ?></p> </body> </html>
※関連コンテンツ