私はこれを試しました:
<?php
$fileip = fopen("test.txt","r");
?>
これにより、読み取り専用のムードでファイルが開かれるはずですが、test.txtファイルがindex.php(メインプロジェクトフォルダー)と同じフォルダーにあるわけではありません。
ファイルが開かない
そして私がエコーを置くとき:
echo $fileip;
戻ってきた
リソースID#3
ファイルは正常に開きました。ファイル自体の内容ではなく、ファイルポインタであるため、そのようにエコーすることはできません。fread()
実際のコンテンツを読むにはを使用する必要があります。さらにfile_get_contents()
、コンテンツをすぐに取得するを使用することをお勧めします。
あなたのやり方でそれをする:
$handle = fopen("test.txt", "r");
$fileip = fread($handle, filesize($filename));
fclose($handle);
echo $fileip;
または、を使用してfile_get_contents()
:
$fileip = file_get_contents("test.txt");
echo $fileip;
php.netから:
成功した場合はファイルポインタリソースを返し、エラーの場合はFALSEを返します。
が返されたので、resource
ファイルは正常に開かれました。ファイルに対して、などの操作をさらに行う必要がありfwrite
ます。したがって、エラーは発生しません。ファイルは操作対象になります。
fopen呼び出しの結果としてリソースIDを取得した場合、失敗するとFALSEが返されるため、成功しました。では、ファイルが実際に開いていることを疑う理由は何でしょうか。
詳細については、 http://www.php.net/fopenを確認してください。
ファイル自体ではなく、ファイルハンドルを開いただけです。
PHP5を使用している場合(これは本当に新しい開発に必要です)、代わりに$ fileip = file_get_contents( "test.txt")を使用して、このファイルの内容をバッファーに読み込むことができます。
完全な例。
<?php
$fileip = file_get_contents("test.txt");
echo($fileip);
?>
テキストファイルの内容を出力するには:
$fh = fopen('myfile.txt', 'r');
$text = fread($fh, filesize('myfile.txt'));
echo $text;