2016-09-26 81 views
1

我工作的PHP文件处理:PHP文件处理和FREAD错误

我有两个问题:

在下面的功能我有这个错误: 警告: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 

什么是不正确的我的代码?

除了我使用记事本+ +。

+0

RTFM? [FREAD()](http://php.net/fread):'参数:手柄:正在使用的fopen通常创建一个文件系统指针资源()' –

+0

你为什么不只是使用'的file_get_contents? – Barmar

+0

我想拥有的所有功能 – user6862524

回答

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); 
+0

一个很好的了解关于第二个问题,我发现自己回答。记事本++的Nppcalc插件会导致错误。 – user6862524