PHP文件处理和fread错误

时间:2016-09-26 15:22:40

标签: php function fopen filesize fread

我正在处理PHP文件处理:

我有两个问题:

在以下功能中我有这个错误: 警告:fread()期望参数1是资源,字符串在C:\ xampp \ htdocs中给出...

我的功能是:

function readingFile($file,$mode) {
    if (gettype($file) !== 'string' && gettype($mode) !== 'string') {
       return 'Pleas enter a file name and mode';
    }
    fopen($file,$mode) or die ('File Not Exist!!');
    $size = filesize($file);
    return fread($file,$size);
}
echo readingFile('file_1.txt','r');

1)我该如何解决这个问题?

2)当我写下面的代码,然后按回车,我在下一行的第一行得到一个(假)。我的意思是:

$size = filesize('file.txt'); // i press enter
False      //here i get this word

$file = fopen('file.txt','r'); // i press enter
False     // here i get this word
那是什么?不纠正我的代码?

另外我使用记事本++。

1 个答案:

答案 0 :(得分:1)

fread将文件句柄作为第一个参数(不是文件名),因此您需要更改代码:

$handle = fopen($file,$mode) or die ('File Not Exist!!');
$size = filesize($file);
return fread($handle,$size);

此外,如果您想要阅读整个文件,更简单的方法是file_get_contents。那么代码就是:

return file_get_contents($file);