Hallo Leute,
mein Script soll einen bestimmten Ordner scannen. Dann soll es nur Unterordner des Oberordners erkennen. In jedem Unterordner werden dann nur Dateien (nicht Ordner) überprüft. In der ersten Stufe kann er mir schon mal alle Elemente des Oberordners anzeigen. Aber nur ".." wird als Ordner erkannt. Alle Unterordner werden nicht als Ordner erkannt. Der Fehler ist unbekannt. Mein Script sieht so aus:
PHP
<font style="font-family: Calibri; font-size: 14pt;">
<?php
$suchwort = $_GET['stext'];
echo "Suche nach '".$suchwort."' in folgenden Dateien:<br>";
//Alle Elemente in artikel werden gescannt
$ordner = "artikel"; //relativer Ordner, weil ohne Root Angabe
$elemente = scandir($ordner);
foreach ($elemente as $element) {
echo "<b>".$element."</b><br />";
//Wenn das Element ein Ordner ist,
if (is_dir($element) and !"..") {
//dann wird es gescannt
$elemente2 = scandir($ordner."/".$element);
//Für jedes Element im Einzelartikel wird folgendes gemacht
foreach ($elemente2 as $element2) {
//Wenn das Element eine Datei ist,
if (is_file($element2)) {
$value = " ";
//wird die Datei auf das Suchwort geprüft
$dateiinhalt = file_get_contents($element2);
if(preg_match("#".$suchwort."#", $dateiinhalt) == 1) {
$value = " <-"; //Symbol wird bei einem Treffer hinzugefügt
} else {$value=" ";};
//Element wird mit oder ohne Treffer Symbol angezeigt
echo " ".$element2.$value."<br />";
};
};
} elseif ($element == "..") {
echo " Überordner wird nicht gescannt<br>";
} elseif (is_dir($element)) {
echo " Element ist kein Ordner<br>";
} else {
echo " unbekannter Fehler<br>";
};
};
?>
</font>
Alles anzeigen
Weiß jemand, wo ich einen Fehler gemacht habe?
Grüße
justanotherperson