2

特定の Web サイトのコンテンツを取得し、そのコンテンツを .txt ファイルに書き込み、フォーマットされていない結果をブラウザーに出力しようとしています。Web サイトのコンテンツを実際にテキスト ファイルに書き込むことはできますが、ブラウザに反映されません。元のハンドルで「w+」と「r+」を使用しようとしましたが、うまくいきませんでした。ここで何が間違っていますか?

$file = file_get_contents('http://www.example.com');
$handle = fopen("text.txt", "w");
fwrite($handle, $file);
fclose($handle);

$myfile = "text.txt";
$handle = fopen($myfile, "r");
$read = htmlentities(fread($handle, filesize($myfile)));
echo $read;
4

3 に答える 3

1

$file の最初のステートメントには、作成したばかりのファイルからフォーマットされたすべてのコードが含まれているため、それを使用できます。

 echo htmlentities($file);

ただし、すでに何人かがこれを尋ねています..おそらくOPは、ファイルが正しく書き込まれたことを確認したいですか?

開くためのコードは問題ないように見えますが、パーミッションの問題を除外しましたか? 開く前に is_readable($myFile) を使用してこれを確認してください。書き込み先のフォルダーで is_writable を実行して、実際にファイルを書き込んでいることを確認することもできます。

于 2012-12-17T12:05:07.077 に答える
1

ファイルを複数回開く必要はありません..試してみてください

$file = "log.txt";
$url = 'http://www.stackoverflow.com' ;

$handle = fopen("log.txt", "w+");
fwrite($handle, file_get_contents($url));
rewind($handle);

$read = htmlentities(fread($handle, filesize($file)));
echo $read;
于 2012-12-17T12:15:23.407 に答える
0

$ handleをvar_dump()して、開くことができるかどうかを確認できます。はいの場合、var_dump($ read).。

また、ファイルを読み取るには、file_get_contents()を使用することもできます。

于 2012-12-17T11:44:56.000 に答える