如何使用php打开文件并显示其内容?

时间:2015-01-23 14:32:13

标签: php

我在尝试打开文件并使用php

显示其内容时遇到问题

我的文件名为hello.txt

这是我的PHP代码

<?php 

$filename = 'hello.txt';
$filePath = 'c:\\Users\\bheng\\Desktop\\'.$filename;

if(file_exists($filePath)) {
    echo "File Found.";

    $handle       = fopen($filePath, "rb");
    $fileContents = fread($handle, filesize($filePath));
    fclose($handle);

    if(!empty($fileContents)) {
        echo "<pre>".$fileContents."</pre>";
    }

}
else {
    echo "File Not Found.";
}

?>

我是从这里得到的 http://php.net/manual/en/function.fread.php

我一直收到错误:

  

fread():长度参数必须大于0

有人能帮助我吗?

4 个答案:

答案 0 :(得分:2)

虽然这里有关于使用file_get_contents()的答案很好,但我会尝试解释这实际上不起作用,以及如何在不改变方法的情况下使其工作。

filesize()函数使用缓存。你可能在文件为空时执行了这段代码。

每次更改文件时或在测试文件大小之前使用clearstatcache功能:

clearstatcache();
$fileContents = fread($handle, filesize($filePath));

另外显然要确保你的文件不是空的!测试一下:

clearstatcache();
if(file_exists($filePath) && filesize($filePath)) {
    // code
}

答案 1 :(得分:1)

它不需要那么难,它当然不需要你以二进制模式读取文件:

if (file_exists($filePath))//call realpath on $filePath BTW
{
    echo '<pre>', file_get_contents($filePath), '</pre>';
}

总而言之,你真的不想做太多这样的事情,不过

答案 2 :(得分:1)

如果您需要阅读整个文件的内容,则有一个快捷功能 http://php.net/manual/en/function.file-get-contents.php 因此,您无需费心创建文件处理程序并在之后关闭它。

$fileContents = file_get_contents($filePath);

答案 3 :(得分:1)

使用php的file_get_contents方法

echo file_get_contents("text.txt");