2016-09-26 3 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) когда я напишу следующий код, а затем нажмите клавишу ввода, я получу (False) в первой строке. мой средний-х:

$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): 'Параметры: handle: ресурс указателя файловой системы, который обычно создается с помощью функции 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