Hallo zusammen,
ich habe folgendes Problem:
aus einem Archiv mit vielen Dateien (~800, meistens HTML, aber auch andere) möchte ich in den HTML-Dateien mit der unten stehenden Funktion nach dem Vorkommen des Strings $string suchen.
Leider scheitert mein Script schon an dem Öffnen der Dateien. Während die while-Schleife noch ordnungsgemäß alle HTML-Dateien ausgibt, meldet is_file bei den meisten Fällen false, was ich nicht verstehen kann. Denn die Dateien sind definitiv alle in dem Archiv und als ich mal per Hand $file eingetragen habe, wurde die Datei auch gefunden.
Weiß jemand, woran das liegen kann? Was habe ich falsch gemacht?
function suche_archiv($string){
if ($handle = opendir('archiv')) {
while (false !== ($file = readdir($handle))) {
//if (!is_file($file)) continue;
if (ereg("(.+)\.(htm|html)",$file)) {
echo "$file: ";
$datei = fopen($file,"r");
$inhalt = fread ($datei, filesize ($file));
fclose ($datei);
if (!is_file($file)) {
echo "keine gueltige Datei";
} else echo "guetige Datei";
if (strstr($inhalt,$string)) {
$ergebnis.= $file."<br>\r\n";
}
echo "<br>";
}
}
closedir($handle);
}
return $ergebnis;
}