[PHP] Bilderausgabe begrenzen

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Firefox User, 28. Februar 2010 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 28. Februar 2010
    Bilderausgabe begrenzen

    Ich hab ein php script das mir alle bilder aus einem Ordner anzeigt:

    PHP:
    <? php
     $dir 
    substr ( __FILE__ 0 strrpos ( __FILE__ '/' )); 
    $ordner  substr ( $dir strrpos ( $dir '/' ) +  1 ); 
    $verzeichnis  "../ $ordner /" // Pfad zum Verzeichnis (Hier ist es ein Unterverzeichnis) 
    $handle  openDir ( $verzeichnis );  // Verzeichnis öffnen 
    while ( $datei  readDir ( $handle )) {  // Verzeichnis auslesen 
     
    if ( $datei  !=  "."  &&  $datei  !=  ".."  && ! is_dir ( $datei )) {  // Verzeichnisse filtern 
      
    if ( strstr ( $datei ".bmp" ) ||  strstr ( $datei ".gif" ) ||  strstr ( $datei ".png" ) ||  strstr ( $datei ".jpg" )) {  // Bilder filtern 
       
    $verzeichnis_datei  $verzeichnis  $datei // Pfad zur aktuellen Datei 
       
    $info  getImageSize ( $verzeichnis_datei );  // Bildinfos ermitteln (Breite, Höhe) 
        // Bild anzeigen 
        
       
    echo  "<img src=\" $verzeichnis_datei \" class=\"bild\" width=\" $info [ 0 ] \" height=\" $info [ 1 ] \" alt=\" $verzeichnis_datei \">; 
      } 
     } 

    closeDir(
    $handle ); // Verzeichnis schließen 
    ?> 
    (Aber wie kann ich es machen das es mir z.B nur 5 Bilder anzeigt?) Frage gelöst! Andere Frage siehe unten!!!

    Und am besten auch noch jedes mal andere..
     
  2. 28. Februar 2010
    AW: Bilderausgabe begrenzen

    am besten mit einer datenbank arbeiten.

    und damit 5 angezeigt werden sollen, musst du einen counter einbauen:
    PHP:
    $count  0 // festlegen
    while(.....)
    // ...
    if ( strstr ( $datei ".bmp" ) ||  strstr ( $datei ".gif" )...
    ++
    $count // count erhöhen
    }
    if(
    $count == 5 ) break;  // 5 bilder > stop
     
  3. 28. Februar 2010
    AW: Bilderausgabe begrenzen

    Wiso soll ich mit einer datenbank arbeiten???

    Was muss ich bei dem while reinschreiben??
     
  4. 28. Februar 2010
    AW: Bilderausgabe begrenzen

    zu der datenbank da musst du dich mit mysql beschäftigen.

    ja und ohne dann halt so:
    PHP:
    <? php
     $dir 
    substr ( __FILE__ 0 strrpos ( __FILE__ '/' )); 
    $ordner  substr ( $dir strrpos ( $dir '/' ) +  1 ); 
    $verzeichnis  "../ $ordner /" // Pfad zum Verzeichnis (Hier ist es ein Unterverzeichnis) 
    $handle  openDir ( $verzeichnis );  // Verzeichnis öffnen 
    $count  0 // counter für begrenzung
    while ( $datei  readDir ( $handle ))  // Verzeichnis auslesen 
    {
        if (
    $datei  !=  "."  &&  $datei  !=  ".."  && ! is_dir ( $datei ))  // Verzeichnisse filtern 
        
    {
            if (
    strstr ( $datei ".bmp" ) ||  strstr ( $datei ".gif" ) ||  strstr ( $datei ".png" ) ||  strstr ( $datei ".jpg" )) 
            {
                
    // Bilder filtern 
                
    $verzeichnis_datei  $verzeichnis  $datei // Pfad zur aktuellen Datei 
                
    $info  getImageSize ( $verzeichnis_datei );  // Bildinfos ermitteln (Breite, Höhe) 
                // Bild anzeigen 
                
    echo  '<img src="' . $verzeichnis_datei . '" class="bild" width="' . $info [ 0 ]. '" height="' . $info [ 1 ]. '" alt="' . $verzeichnis_datei . '">' ;
                ++
    $count // counter erhöhen
            
    }
        }
        
    // abbrechen wenn 5 bilder erreicht sind
        
    if( $count == 5 ) break;
    }
    closeDir ( $handle );  // Verzeichnis schließen 
    ?> 
     
  5. 28. Februar 2010
    AW: Bilderausgabe begrenzen

    Ok das geht soweit nur jetz hab ich das plroblem das im Ordner auf dem verlinkt wird unterordner sind und die werden aber nicht angezeigt..

    Deshalb meine Frage: Wie geht das das auch die unterordner angezeigt werden??
     
  6. 28. Februar 2010
    AW: Bilderausgabe begrenzen

    Wie wärs mit:
    PHP:
    while ( $datei  readDir ( $handle ) &&  $i  <=  5 ) {  // Verzeichnis auslesen  
       
    machwas ();
       
    $i ++
    }
    oder wahlweise
    PHP:
    while ( $datei  readDir ( $handle )) {  // Verzeichnis auslesen  
       
    for( $i = 0 $i <= 5 $i ++) {
          
    machwas ();
       }
    }
     
  7. 28. Februar 2010
    AW: Bilderausgabe begrenzen

    Guck oben!
     
  8. 28. Februar 2010
    AW: Bilderausgabe begrenzen

    gehts auch ok dann halt
    PHP:
    <? php
     $dir 
    substr ( __FILE__ 0 strrpos ( __FILE__ '/' )); 
    $ordner  substr ( $dir strrpos ( $dir '/' ) +  1 ); 
    $verzeichnis  "../ $ordner /" // Pfad zum Verzeichnis (Hier ist es ein Unterverzeichnis) 
    $handle  openDir ( $verzeichnis );  // Verzeichnis öffnen 
    $count  0 // counter für begrenzung
    while ( $datei  readDir ( $handle ) &&  $count  <=  5 // Verzeichnis auslesen 
    {
        if (
    $datei  !=  "."  &&  $datei  !=  ".."  && ! is_dir ( $datei ))  // Verzeichnisse filtern 
        
    {
            if (
    strstr ( $datei ".bmp" ) ||  strstr ( $datei ".gif" ) ||  strstr ( $datei ".png" ) ||  strstr ( $datei ".jpg" )) 
            {
                
    // Bilder filtern 
                
    $verzeichnis_datei  $verzeichnis  $datei // Pfad zur aktuellen Datei 
                
    $info  getImageSize ( $verzeichnis_datei );  // Bildinfos ermitteln (Breite, Höhe) 
                // Bild anzeigen 
                
    echo  '<img src="' . $verzeichnis_datei . '" class="bild" width="' . $info [ 0 ]. '" height="' . $info [ 1 ]. '" alt="' . $verzeichnis_datei . '">' ;
                ++
    $count // counter erhöhen
            
    }
        }
    }
    closeDir ( $handle );  // Verzeichnis schließen 
    ?> 
     
  9. 28. Februar 2010
    AW: Bilderausgabe begrenzen

    Das funktioniert irwie nicht...


    Es wird nömlich niks angezeigt.. Keine Fehlermeldung, kein Bild..
     
  10. 28. Februar 2010
    AW: Bilderausgabe begrenzen

    mit Rekursion - d.h. eine Funktion, die sich selber aufruft

    PHP:
    function  getImagesFromDir ( $dir $subdir = true ) {
        
        
    $return  = array();
        
        if (
    $handle  opendir ( $dir )) {
            while (
    false  !== ( $file  readdir ( $handle ))) {
                if (
    $file  !=  "."  &&  $file  !=  ".." ) {
                    if (
    is_file ( $dir . $file ) &&  preg_match ( "/\.(bmp|gif|png|jpg|jpeg)$/" $file ))  $return [] =  $dir . $file ;
                    elseif (
    is_dir ( $dir . $file ) &&  $subdir  ==  true $return [ $file ] =  getImagesFromDir ( $dir . $file . "/" );  
                }
            }
            
    closedir ( $handle );
        }
        
        return 
    $return ;
        
    }

    $allimgs  getImagesFromDir ( "./" );
    Die Funktion getImagesFromDir liest alle Bilder (habe mal mit preg_match gearbeitet, weil es genauer ist als strstr) aus einem Ordner aus, wenn es auf einen anderen Ordner trifft, ruft es wieder getImagesFromDir auf, jetzt aber mit dem Unterordner als Basis
     
  11. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.