我在尝试打开文件并使用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
有人能帮助我吗?
答案 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");