8

我试过这个:

    <?php
$fileip = fopen("test.txt","r");

?>

这应该以只读方式打开文件,但 test.txt 文件与 index.php (主项目文件夹)不在同一文件夹中

文件打不开

当我把回声像:

echo $fileip;

它回来了

资源 ID #3

4

6 回答 6

15

该文件确实打开得很好,您不能像那样回显它,因为它是一个文件指针,而不是文件本身的内容。您需要使用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;
于 2010-03-09T11:30:39.753 回答
3

来自 php.net:

成功时返回文件指针资源,错误时返回 FALSE。

由于resource返回了a,您的文件已经成功打开,您需要对文件进行进一步的操作,例如fwrite,等。所以没有错误,文件在那里被操纵

于 2010-03-09T11:29:11.680 回答
2

如果您通过 fopen 调用获得资源 id,则它成功,因为如果失败,它将返回 FALSE。那么究竟是什么让您怀疑该文件实际上是打开的呢?

检查http://www.php.net/fopen了解更多信息。

于 2010-03-09T11:29:56.793 回答
2

您只打开了一个文件句柄,而不是文件本身。

如果您使用的是 PHP5 - 您确实应该用于新开发,您可以改用 $fileip = file_get_contents("test.txt") 将这个文件的内容读入缓冲区。

于 2010-03-09T11:30:19.540 回答
2

一个完整的例子。

<?php
    $fileip = file_get_contents("test.txt");

    echo($fileip);
?>
于 2011-12-01T23:09:41.313 回答
0

输出文本文件内容:

$fh   = fopen('myfile.txt', 'r');
$text = fread($fh, filesize('myfile.txt'));
echo $text;
于 2010-03-09T11:33:00.980 回答