Ordner auslesen und Datein sortieren mit verschiedenen Datei-Endungen

ihr macht euch alle lustig über mich :(
bekomms echt nicht hin.

also kann ich den unteren teil so stehen lassen?

PHP:
 if ($file != "." && $file != "..") {    
    $extension = substr(strrchr($file,"."),1);
    $extension = strtolower($extension);
    if($extension=="jpg"){
      echo "'<image source=".'"'."$channel/$file".'" />'."' +";
    }
    if($extension=="mp4"){
      echo "'<video source=".'"'."$channel/$file".'" />'."' +";
    }
if($extension=="png"){
      echo "'<image source=".'"'."$channel/$file".'" />'."' +";
  }    
 } 
}
closedir($handle);
?>
 
Hier macht sich keiner über irgendwen lustig, da intepretierst du irgendwas falsch!

genau und darüber packst du alles in ein Array und sortierst es - Anleitung dazu habe ich dir vorhin schon per Link gepostet! Damit sollte dann alles passen;)
 
Da hab ich das wirklich falsch interpretiert, sorry.

ich benutze folgendes array:

PHP:
<?php
$ordner = "./content/home";
$handle = opendir($ordner);
$dir = array();
while($file = readdir($handle)){
if($file != "." && $file != ".."){
 $dir[] = $file;
}
}
closedir($handle);
sort($dir);
foreach($dir as $file){
{
echo $file;
}
}
?>

wie übergebe ich das jetzt an:

PHP:
<?php
 if ($file != "." && $file != "..") {    
    $extension = substr(strrchr($file,"."),1);
    $extension = strtolower($extension);
    if($extension=="jpg"){
      echo "'<image source=".'"'."$channel/$file".'" />'."' +";
    }
    if($extension=="mp4"){
      echo "'<video source=".'"'."$channel/$file".'" />'."' +";
    }
if($extension=="png"){
      echo "'<image source=".'"'."$channel/$file".'" />'."' +";
  }    
 } 
}
closedir($handle);
?>

Könnte das so klappen?

PHP:
<?php
$ordner = "./content/home";
$handle = opendir($ordner);
$dir = array();
while($file = readdir($handle)){
if($file != "." && $file != ".."){
 $dir[] = $file;
}
}
closedir($handle);
sort($dir);
foreach($dir as $file){
if ($file != "." && $file != "..") {    
    $extension = substr(strrchr($file,"."),1);
    $extension = strtolower($extension);
    if($extension=="jpg"){
      echo "'<image source=".'"'."content/home/$file".'" />'."' +";
    }
    if($extension=="mp4"){
      echo "'<video source=".'"'."content/home/$file".'" />'."' +";
    }
if($extension=="png"){
      echo "'<image source=".'"'."content/home/$file".'" />'."' +";
  }    
 }
}
?>
 
Ich würde es in einer foreach Schleife machen.

So kann es klappen, aber das erste if kannst du raus nehmen. die Abfrage auf . und .. hast du ja schon beim Auslesen des Verzeichnisses gemacht.
 
Zuletzt bearbeitet:
Noch eine Ergänzung. Je nachdem wie die Dateinamen ausfallen, solltest du vielleicht natsort() verwenden. Dann werden auch Zahlen über 9 richtig sortiert. Sonst kommt nämlich 10 vor 2. Allerdings wird da auch Groß- und Kleinschreibung berücksichtigt. Wenn du auch Kontrolle über den Upload hast, würde ich da gleich alle Dateinamen klein bügeln.
 

Neue Beiträge

Zurück