2012-06-04 27 views
6

Ich versuche zu erstellen, eine Protokolldatei für meine Website schreiben. Dazu benutze ich den folgenden Code, um die Datei zu öffnen. Jetzt existiert die Datei noch nicht, aber die Dokumentation besagt, dass das Hinzufügen eines "+" - Flags sicherstellt, dass die Datei erstellt wird, wenn sie nicht existiert.PHP: fopen: Keine solche Datei oder Verzeichnis

$file = fopen($_SERVER['DOCUMENT_ROOT']."/logs/mylogfile.txt", "a+"); 

Der obige Code gibt mir die folgende Fehlermeldung ...

Warning: fopen(E:/wamp/www/logs/mylogfile.txt) [function.fopen]: failed to open stream: No such file or directory 

Was mache ich falsch? Bitte entschuldigen Sie, wenn das eine blöde Frage ist, ich bin neu in PHP.

+0

Haben Sie Schreibrechte auf diesen Ordner haben? – alexn

+0

Danke für die Antwort .. Wie kann ich das überprüfen? –

+0

Haben Sie Ihren E:/wamp/www/logs/Ordner nach einer Datei mit dem Namen "tagMetroLog.txt" überprüft? –

Antwort

10

Der zweite Parameter "a +" von fopen kann die Datei nur erstellen, wenn das Verzeichnis existiert. Stellen Sie sicher, dass das Protokollverzeichnis vorhanden ist. Wenn es nicht der Fall Gebrauch:

mkdir($_SERVER['DOCUMENT_ROOT']."/logs/", 0777, true); 

(wahr ist der Schlüssel) vor fopen()

+1

Ich möchte +1000 diese Antwort !!! – progyammer

Verwandte Themen