2007年03月17日
意外と知らないPHPファイル処理関数
PHPというプログラミング言語を使用するユーザーにとってファイル処理関数(fopen、fgetsなど)を使用することはきっと多いことだと思います。私もその一人です。
PHPでこのファイル処理関数を使用する場合はマニュアルや書籍、WEBサイト又は今までの経験でどの関数を使用してプログラムを組めば大抵は予定通りの動作して満足します。
けど、そのプログラムは本当に正しいのかというと
「正常に動いているから問題ないでしょう。」
と思うかもしれません。
IBMのサイトで「PHP でファイルを読み取るための正しい方法」というちょっと面白い記事を見つけました。
知っていそうで知らなかった機能や関数についてもう一度見直してみるのはいかがでしょうか?
ここで私が知ったのはfopen関数でURLを開けることははじめて知りました。
私の頭の中では
試しに実際にそのようなプログラムを書いてみました。
考えてみればfopen関数はファイルを開く関数なので他のURLでも開くことができるのは当たり前なのですが、こういう発想を思いつくことがなかなかできません。
意外と知っているようで知らないことが分かるとまた一段とプログラムが面白く感じます。
IBM PHP でファイルを読み取るための正しい方法 - Japan
PHPでこのファイル処理関数を使用する場合はマニュアルや書籍、WEBサイト又は今までの経験でどの関数を使用してプログラムを組めば大抵は予定通りの動作して満足します。
けど、そのプログラムは本当に正しいのかというと
「正常に動いているから問題ないでしょう。」
と思うかもしれません。
IBMのサイトで「PHP でファイルを読み取るための正しい方法」というちょっと面白い記事を見つけました。
知っていそうで知らなかった機能や関数についてもう一度見直してみるのはいかがでしょうか?
ここで私が知ったのはfopen関数でURLを開けることははじめて知りました。
私の頭の中では
fopen関数=ファイルを開く関数として、引数に開くファイル名しか書いたことはなかったのですが、まさかURLを入力するという発想はありませんでした。
試しに実際にそのようなプログラムを書いてみました。
<?php上記のプログラムを実行してみた結果、右記画像のようにアドレスはローカルアドレスなのに表示しているサイトはYahoo!となんとも奇妙な結果が表示されました。
$file_handle = fopen("http://www.yahoo.co.jp/", "r");
while (!feof($file_handle)) {
$line = fgets($file_handle);
echo $line;
}
fclose($file_handle);
?>
考えてみればfopen関数はファイルを開く関数なので他のURLでも開くことができるのは当たり前なのですが、こういう発想を思いつくことがなかなかできません。
意外と知っているようで知らないことが分かるとまた一段とプログラムが面白く感じます。
IBM PHP でファイルを読み取るための正しい方法 - Japan
Category is PHP.
<%PingExcerpt%>
<%PingBlogName%> at <%PingDateTime%>