2016-09-26 3 views
1

i auf PHP-Datei Handhabung gerade arbeite:PHP Datei-Handling und fread Fehler

ich habe zwei Fragen:

In der folgenden Funktion Ich habe diesen Fehler: Warning: fread() erwartet Parameter 1 bis sein Ressource, string in C angegeben: \ xampp \ htdocs ...

und meine Funktion ist:

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), wie ich das beheben kann?

2) Wenn ich den folgenden Code schreibe und dann die Eingabetaste drücke, bekomme ich eine (False) in der ersten Zeile. mein Mittelwert suchen:

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

oder

$file = fopen('file.txt','r'); // i press enter 
False  // here i get this word 

was ist das korrigiere nicht meine Codes?

Zusätzlich verwende ich Notepad ++.

+0

RTFM? [fread()] (http://php.net/fread): 'Parameter: handle: Eine Dateisystemzeiger-Ressource, die normalerweise mit fopen() erstellt wird.' –

+0

Warum verwenden Sie nicht einfach 'file_get_contents? – Barmar

+0

Ich versuche, ein gutes Verständnis aller Funktionen zu haben – user6862524

Antwort

1

fread nimmt einen Datei-Handle als ersten Parameter (kein Dateiname), so müssen Sie Ihren Code wie folgt ändern:

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

Auch wenn Sie die gesamte Datei, eine einfachere Methode lesen wollen ist file_get_contents. Der Code wäre dann einfach:

return file_get_contents($file); 
+0

In Bezug auf die zweite Frage, finde ich mich zu beantworten. Das Nppcalc-Plug-in für Notepad ++ würde Fehler verursachen. – user6862524