Scandir

Tux

Will sich bessern!
1 November 2006
242
19
Hallo,
ich habe eine Frage. Und zwar möcht ich mit scandir alle dateien im Ordner "Demo" scannen. Natürlich auch mit Unterordnern. Allerdings möchte ich 2 der Unterordner unter sperren zum scan geht das?

Oder kann man bestimmte files zum scannen sperren z.B. demo/includes/footer.php soll nich gescannt werden geht das und wenn ja, wie?
 
Richtig. Ja da war ich schon ich möchte halt einen Unterordner oder mehrere Datein da raus zum scannen sperren.. Nur wie?
 
Das habe ich auch in letzter Zeit genutzt und habe keine Lösung dafür gefunden.
Ich habe es mit einem kleinen Workarround gelöst.
PHP:
$this->_file_array[$this->_subdir] = scandir($this->_global_dir . DIRECTORY_SEPARATOR . $this->_subdir);

// entfernt '.' und '..' und 'Thumb.db'
$_element_count = count($this->_file_array[$this->_subdir])- 1;
for($x = 0; $x <= $_element_count; $x++)
{
   if(in_array($this->_file_array[$this->_subdir][$x], $this->_blacklist_array))
      unset($this->_file_array[$this->_subdir][$x]);
}

Allerding sieht mein Blacklistarray folgendermaßen aus:
PHP:
$this->_blacklist_array = array('.', '..', 'Thumbs.db', 'thumbs');

Das wird dir allerding nicht weiterhelfen um verzeichnisse auszuschließen zum scannen. Wenn du die unterverzeichnisse ausschließen willst zum scannen musst Du den Array vorher säubern mit dem Workarround. Ne andere Lösung wüsste ich nicht.

Außerdem kannst Du soweit ich das feststellen konnte keine Unterverzeichnisse mitscannen lassen sondern must das wieder expliziet angeben. Aber ich kann mich auch täuschen, die Funktion nutzte ich auch das erste mal. Vielleicht hilft dir glob weiter ansonsten nur mit opendir und readdir.