2010-03-09 18 views
8

mit Ich habe versucht, dies:Datei nicht geöffnet PHP fopen

<?php 
$fileip = fopen("test.txt","r"); 

?> 

dies die Datei in Nur-Lese-Stimmung geöffnet haben sollte, aber es funktioniert nicht die test.txt-Datei als dass in demselben Ordner ist von index.php (Hauptprojektordner)

die Datei nicht geöffnet

und wenn setzen i echo wie:

echo $fileip; 

es zurück

Resource id # 3

Antwort

15

Die Datei hat sich gut geöffnet, Sie können es nicht so wiederholen, weil es ein Dateizeiger ist, nicht der Inhalt der Datei selbst. Sie müssen fread() verwenden, um den tatsächlichen Inhalt zu lesen, oder noch besser, verwenden Sie file_get_contents(), um den Inhalt sofort zu erhalten.

Doing it your way:

$handle = fopen("test.txt", "r"); 
$fileip = fread($handle, filesize($filename)); 
fclose($handle); 

echo $fileip; 

Oder mit file_get_contents():

$fileip = file_get_contents("test.txt"); 

echo $fileip; 
+0

Wenn Sie den Inhalt direkt drucken möchten, müssen Sie ihn nicht zuerst in einer Variablen speichern, sondern nur readfile ("test.txt"); – Tobias

+0

@Tobias, oder Sie können auch einfach 'echo file_get_contents (...'} aber ich habe die Variablen hinzugefügt, weil OP hatte es in seiner Frage. –

2

Von php.net:

Gibt einen Dateizeiger Ressource auf Erfolg oder FALSE bei einem Fehler.

Da ein resource zurückgegeben wurde, hat Ihre Datei erfolgreich geöffnet, müssen Sie weitere Operationen wie fwrite, etc. auf Ihrer Datei. Es gibt also keinen Fehler, die Datei soll manipuliert werden.

2

Wenn Sie eine Ressource-ID als Ergebnis des fopen-Aufrufs erhalten, dann ist es erfolgreich, weil es FALSE zurückgibt, wenn es fehlschlägt. Was genau bezweifeln Sie, dass die Datei tatsächlich geöffnet ist?

Überprüfen Sie http://www.php.net/fopen für weitere Informationen.

2

Sie haben nur ein Datei-Handle geöffnet, nicht die Datei selbst.

Wenn Sie PHP5 verwenden - was Sie wirklich für die Neuentwicklung sein sollten, könnten Sie stattdessen $ fileip = file_get_contents ("test.txt") verwenden, die den Inhalt dieser Datei in den Puffer lesen.

0

die Textdatei Inhalt Zur Ausgabe:

$fh = fopen('myfile.txt', 'r'); 
$text = fread($fh, filesize('myfile.txt')); 
echo $text; 
Verwandte Themen