Sortierfunktion von Datein nach Dateiendung

Jennesta

Erfahrenes Mitglied
Hallo,
ich bin bisher soweit, dass ich alle Datein in einem Ordner auslesen kann. Nun möchte ich diese Datein so sortieren, dass ich Bilder, Text+HTML-Datein, Archive und Ordner separat ausgeben kann.
versucht habe ich es mit folgender Funktion:

PHP:
foreach($ftp_nlist as $file) {
		$fileinfo = pathinfo($file);
		$fileextension = $fileinfo["extension"];
		if(ftp_size($resource, $file) == -1)
			$ORD[] = $file; 
		elseif(strnatcasecmp($fileextension, "jpg") OR strnatcasecmp($fileextension, "gif") OR strnatcasecmp($fileextension, "png"))
			$PIC[] = $file;
		elseif(strnatcasecmp($fileextension, "html") OR strnatcasecmp($fileextension, "htm") OR strnatcasecmp($fileextension, "txt"))
			$HTM[] = $file;
		elseif(strnatcasecmp($fileextension, "zip") OR strnatcasecmp($fileextension, "rar"))
			$ZIP[] = $file;
		else
			$OUT[] = $file;
	}
Jedoch sortiert die Funktion maximal nach den Ordnern. Danach werden iwie alle Datein in das Array PIC[] gepackt. Vielleicht liegt es an der Funktion "strnatcasecmp" ?

Gruß Jennesta
 
ich würde gar nicht soviel Aufwand betreiben und die Funktion komplett weglassen....
entweder:
PHP:
strtolower($fileextension) == "jpg" || ...
oder
PHP:
in_array(strtolower($fileextensions), array("jpg", "gif", "bmp"....))
 
Vielen Dank,
ist echt viel einfacher.
Habe nun erst die erste Möglichkeit genommen, da ich so nur kurz ändern musste.
Aber die zweite Variante scheint mir doch sinnvoller zu sein, wenn mehr Dateiendungen dazukommen.
 
Zurück