php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Dateien werden übersehen???


 
jaderbass
07-08-2003, 22:45 
 
Hallo alle,

mein Problem: Ich lese ein Root-Verzeichnis aus, kenne aber die Struktur nicht genau, also prüfe ich mit einem Skript, ob es sich beim Inhalt des Root um eine Datei oder ein Verzeichnis handelt. Das klappt auch. Jetzt möchte ich die letzte Änderung der Dateien auslesen, in eine Liste schreiben und dann dort die neueste ausgeben lassen. Soweit sogut.

Der Code der mir Kopfzerbrechen bereitet ist:

//im array $inhalt stehen die vom Script ausgelesenen
//Dateien und Verzeichnisse
$type=filetype($dat);
if($type!="file"){
$inhalt2[]=$inhalt[$i];
}else{
$datei=$inhalt[$i];
$dt=filetype($datei);
echo "<p>$datei = $dt<br>";
//Diese Abfrage ist zum Test
if (file_exists($datei)){
$zeit=fileatime($datei);
echo "$zeit</p>";
}else{
echo "ich bin ja gar nicht da</p>";}
}



Nun ist es wirklich so, dass dieses Skript mir bei einigen Dateien wirklich anzeigt, die Datei würde nicht existieren. Die Ausgabe sieht z.B. so aus:



index.html = file
1059114606

format.css = file
1059114606

formmailer.php = file
ich bin ja gar nicht da

formmailer2.php = file
ich bin ja gar nicht da

formmailer3.php = file
ich bin ja gar nicht da



Und die Dateien gibt es. Liegen ja im Testverzeichnis auf meinem Rechner. Kann mir einer sagen, was hier abgeht?

Testsystem Win2000, Apache, PHP 4.2.3

Danke Jörg

 
Titus
08-08-2003, 17:08 
 
Keine Ahnung, was da schief läuft :(
aber auf jeden Fall solltest du filemtime benutzen statt fileatime :teach:

 
jaderbass
08-08-2003, 18:31 
 
Hi Titus,

verflixtes Problem das. Aber trotzdem Danke für die Antwort. Ich dachte schon ich habe nicht mehr den Durchblick.

Original geschrieben von Titus
aber auf jeden Fall solltest du filemtime benutzen statt fileatime

Ja klar, hatte blos getestet, ob mit filatime der gleiche Fehler kommt und den code noch nicht wieder geändert. :(

Grüße Jörg

 
Titus
09-08-2003, 13:32 
 
Hmm ... wird $inhalt per readdir ausgelesen oder setzt du die manuell?

wenn manuell: Vielleicht stimmen die Zugriffsrechte nicht!?!


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:05 Uhr.