Script: Bilder aus Ordner auslesen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Script: Bilder aus Ordner auslesen

    Bilder aus Ordner auslesen

    Mit dieser Function könnt ihr alle Bilder aus einem Ordner auslesen lassen. In diesem Beispiel werden die Bildername in die Variable $bilder gespeichert.

    [code:1]function bilderlesen()
    {
    $handle = opendir('bilder'); // Ordner 'bilder' wird geöffnet
    while ($file=readdir($handle))
    {
    if ( $file != "." && $file != ".." )
    {
    $bild[] = $file;
    }
    }
    $bild_summe = count($bild); // Anzahl der Bilder wird gezählt

    for ($b=0; $b<$bild_summe; $b++)
    {
    if ($bild[$b] != '')
    {
    $bilder .= $bild[$b].'<br>'; // Dateiname wird in $Bilder gespeichert
    }
    else
    {
    $bilder .= '';
    }
    }
    closedir($handle);
    return $bilder;
    }[/code:1]
  • Es ist eigentlich nicht allzu wichtig, was du jetzt genau verwendest. Egal ob relativ oder absolut. Aber der Fehler könnte eventuell daran liegen, dass die Funktion nicht rekursiv arbeitet.


    Ansonsten kannst du auch mal nachfolgende Funktion verwenden. Diese arbeitet rekursiv (Durchsucht auch Verzeichnisse im Verzeichnis). Die gewünschten Bildendungen sollten in der Funktion is_image bearbeitet werden.

    Die Rückgabe besteht aus einem Array, welcher die jeweiligen Bildnamen beinhaltet.


    [code:1]
    function is_image( $img , $imgEndings = array() ) {
    if ( empty( $imgEndings ) )
    $imgEndings = array( 'gif' , 'jpg' , 'jpeg' , 'png' );

    $img = explode( '.' , $img );

    return ( in_array( $img[1] , $imgEndings ) ? true : false );
    }

    function imagesFromFolder( $folder , $return = 'array' ) {
    $images = array();
    if( file_exists( $folder ) ) {
    $handle = opendir( $folder );

    if ( is_resource( $handle ) ) {
    while( $file = readdir( $handle ) ) {
    if ($file != "." && $file != "..") {
    if( is_dir( $folder.'/'.$file ) ) {
    $images_temp = imagesFromFolder( $folder.'/'.$file );

    foreach( $images_temp AS $value ) {
    if( is_image( $value ) ) {
    $images[] = $file.'/'.$value;
    }
    }
    }
    else {
    if( is_image( $file ) ) {
    $images[] = $file;
    }
    }
    }
    }
    }
    return $images;
    }
    else {
    return false;
    }
    }[/code:1]