möchte automatisch einen zusatz an ein imagenamen setzen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • möchte automatisch einen zusatz an ein imagenamen setzen

    Hi Leudz

    ich hab da mal ne Frage zu nem php script
    also ich habe dieses script hier
    und möchte das zu dem umgeänderten images
    noch ein kleiner zusatz angehängt wird
    zB: "_a" also so zB: testimage_a.gif


    also ich möchte wenn im auszulesenden ordner "dbimagesfirst" eine image datei
    zB: test.gif ist das im ausgangsordner "dbimages"
    die datei test_a.gif heist also das die endung "_a" angehangen wird und dieses sollte in dem script
    was ich unten aufgeführt habe integriert sein
    weil so funzt das script
    es ändert die datein die im ordner
    "dbimagesfirst" sind automatisch um
    und zeigt die geänderten (grössen änderung) a
    uch im ordner "dbimages" an
    nur hätte ich gern das die geänderten dateien
    den zusatz "-a" an den namen gehängt
    bekommen

    für gute antworten wär ich sehr dankbar

    PHP-Code:
    <?php 

    class Thumbnailer 
        
    ######### Eigenschaften der Klasse/des Objekts 
        
    var $autocreate true// soll das verkleinern der Bilder direkt beginnen? 
    wenn jamüssen die Eigenschaften korrekte Werte erhalten!! 
        var 
    $single_mode false// sollen nur einige Bilder
     
    oder alle Bilder im Ordner verkleinert werden
        var 
    $image_list = array(); // falls $single_mode = true, dann müssen hier 
    die Bilder reingeschrieben werden, die verkleinert sollen 
        
    var $ersetzen false// soll, wenn Bild bereits
     
    vorhand istdieses ersetzt werden
        var 
    $image_ext = array("gif","jpg","jpeg","png","wbmp"); //alle formate. 
        
    var $image_dir "../../images/dbimagesfirst/"// die Original Bilder 
        
    var $thumb_dir "../../images/dbimages/"// Ordner 
    in dem die modifizierten Bilder gespeich werden 
        
    var $thumb_w 150;//110; // Breite (width) der modifizierten Bilder 
        
    var $thumb_h 200;//110; // Höhe (height) der modifizierten Bilder 
        
        ######### Method der Klasse/des Objekts 
        ##### gibt alle Bilder mit den korrekten Endung
        
    in einem Array zurück 
        
    function list_all_images() { 
            
    $files = array(); 
            
    $dir_handle opendir($this->image_dir); 
            while (
    $file readdir($dir_handle)) {
                if (
    $file != "." && $file != ".." && !
    is_dir($this->image_dir.$file)) { 
                    
    $tmp_file explode(".",$file);
                    
    $i 0
                    while (
    $i count($this->image_ext)) { 
                        if (
    $this->image_ext[$i] ==
     
    strtolower($tmp_file[count($tmp_file)-1])) { 
                            
    $files[] = $file
                        } 
                    
    $i++; 
                    } 
                } 
            } 
            
    closedir($dir_handle); 
            return 
    $files
        } 
        
        
    ##### Erstellt ein Thumbnail 
        
    function create_thumb($filename) { 
            
    $file $this->image_dir.$filename
            if (
    $this->ersetzen || !file_exists($this->thumb_dir.$filename)) { 
                
    #### Bild- Datei und -Endung 
                
    $tmp_file explode(".",$file); 
                
    $ext strtolower($tmp_file[count($tmp_file)-1]); 
                
    #### Bild aus Datei erstellen; 
    Bildtypen müssen unterschieden werden 
                
    if ($ext == "jpg" || $ext == "jpeg") { 
                    
    $img imagecreatefromjpeg($file); 
                } elseif (
    $ext == "gif") { 
                    
    $img imagecreatefromgif($file); 
                } elseif (
    $ext == "png") { 
                    
    $img imagecreatefrompng($file); 
                } elseif (
    $ext == "wbmp") { 
                    
    $img imagecreatefromwbmp($file); 
                } else { 
                    return 
    false
                } 
                
    #### Größen ablesen 
                
    $old_w imagesx($img); 
                
    $old_h imagesy($img); 
                
    #### neue Größen bestimmen 
                
    if ($old_w $old_h) { 
                    
    $thumb_w $this->thumb_w
                    
    $thumb_h $old_h*($this->thumb_w/$old_w); 
                } 
                if (
    $old_w $old_h) { 
                    
    $thumb_w $old_w*($this->thumb_h/$old_h); 
                    
    $thumb_h $this->thumb_h
                } 
                if (
    $old_w == $old_h) { 
                    
    $thumb_w $this->thumb_w
                    
    $thumb_h $this->thumb_h
                } 
                
    #### Bild erzeugen in korrekter Größe 
                
    $new_img = @imagecreatetruecolor($thumb_w,$thumb_h); 
                if (!
    $new_img) { 
                    
    $new_img imagecreate($thumb_w,$thumb_h); 
                    
    imagecopyresized($new_img,$img,0,0,0,0,
    $thumb_w,$thumb_h,$old_w,$old_h); 
                } else { 
                    
    imagecopyresampled($new_img,$img,0,0,0,0,
    $thumb_w,$thumb_h,$old_w,$old_h); 
                } 
                
    #### Bild speichern; Bildtypen müssen unterschieden werden 
                
    if ($ext == "jpg" || $ext == "jpeg") { 
                    
    imagejpeg($new_img,$this->thumb_dir.$filename); 
                } elseif (
    $ext == "gif") { 
                    
    imagegif($new_img,$this->thumb_dir.$filename); 
                } elseif (
    $ext == "png") { 
                    
    imagepng($new_img,$this->thumb_dir.$filename); 
                } elseif (
    $ext == "wbmp") { 
                    
    imagewbmp($new_img,$this->thumb_dir.$filename); 
                } else { 
                    return 
    false
                } 
                
    #### Cache leeren 
                
    imagedestroy($new_img); 
                
    imagedestroy($img); 
                return 
    true
            } else { 
                return 
    false
            } 
        } 
        
        
    ##### Lässt Thumbnails anhand der Bilder 
    im Ordner erzeugen 
        
    function create_thumbs() { 
           if (
    $this->single_mode) { 
              
    $files $this->image_list
           } else { 
               
    $files $this->list_all_images(); 
            } 
            
    $i 0
            while (
    $i count($files)) { 
                
    $this->create_thumb($files[$i]); 
                
    $i++; 
            } 
            return 
    true
        } 

        
    ##### Konstruktor für die Klasse 
    (wird nur ausgeführtwenn die Klasse sofort starten soll
        function 
    Thumbnailer() { 
            if (
    $this->autocreate) { 
                
    $this->create_thumbs(); 
            } 
        } 
        
    ######### Ende der Klasse/des Objekts 


    ######### 
    ## EOF ## 
    ######### 

    ?>
    greetz

    mibblitz
    Zuletzt geändert von mibblitz; 06.02.2006, 13:31.

  • #2
    Tust du uns nen rieeeeeeesen Gefallen und setzt das hier um:

    http://www.php-resource.de/forum/sho...threadid=50454

    Danke
    Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
    var_dump(), print_r(), debug_backtrace und echo.
    Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
    Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
    Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

    Kommentar


    • #3
      Hi,

      Weiß nicht obs das ist was du wolltest:
      PHP-Code:
       #### Bild speichern; Bildtypen müssen unterschieden werden 
                  
      $filename $filename."_a";
                  if (
      $ext == "jpg" || $ext == "jpeg") { 
                      
      imagejpeg($new_img,$this->thumb_dir.$filename); 
                  } elseif (
      $ext == "gif") { 
                      
      imagegif($new_img,$this->thumb_dir.$filename); 
                  } elseif (
      $ext == "png") { 
                      
      imagepng($new_img,$this->thumb_dir.$filename); 
                  } elseif (
      $ext == "wbmp") { 
                      
      imagewbmp($new_img,$this->thumb_dir.$filename); 
                  } else { 
                      return 
      false
                  } 
      Weiß auch nicht obs funzt...hab mit Grafikfunktionen noch nichts am Hut gehabt... suchst halt die Stelle wo der neue Name erzeugt wird und fügst ."_a" an die Variable.

      Gruß Thomas
      Zuletzt geändert von Alrik; 05.02.2006, 22:26.

      Kommentar


      • #4
        mmh hab mir schon gedacht das so eine antwort kommt naja sorry ich weiss der php code ist zu lang das prob ist nur ich weiss nicht wo ich das nachtragen kann die zusatzinfo daher hab ich gedacht ich poste mal den ganzen php code damit man sich ein bild machen kann von dem prob

        ich werd versuchen den code kl zu gestalten ;-)

        Kommentar


        • #5
          @alrik

          danke für die info ;-)

          Kommentar


          • #6
            mmh jo das wahr was ich wollte nur jetzt ist der zusatz "_a" nicht hinter dem imagenamen also "test_a.gif" sonder hinter dem gif also "test.gif_a"
            Zuletzt geändert von mibblitz; 05.02.2006, 23:37.

            Kommentar


            • #7
              es ist egal wie lang der code ist. du solltest nur umbrüche machen,
              damit keine horizontalen Scrollbalken entstehen.

              Und dies kannst du immer auch im Nachhinein, daher haben die Forenmacher
              eine Funktion namens bearbeiten zur Verfügung gestellt.

              Kommentar


              • #8
                aha danke , ok dann werd ich das jetzt gleich mal sofort machen

                Kommentar


                • #9
                  so jetzt hab ich es geändert hoffe mal das mir jetzt einer nen guten tip geben kann

                  greetz

                  MIB

                  Kommentar


                  • #10
                    OffTopic:
                    Kein Grund hier nach nichtmal 2 Stunden zu drängeln!

                    Kommentar


                    • #11
                      sorry so sollte das nicht gemeint sein

                      greetz

                      MIB

                      Kommentar


                      • #12
                        PHP-Code:
                        if ($ext == "jpg" || $ext == "jpeg") { 
                          
                        imagejpeg($new_img,$this->thumb_dir.$filename); 
                        } elseif (
                        $ext == "gif") { 
                          
                        imagegif($new_img,$this->thumb_dir.$filename); 
                        } elseif (
                        $ext == "png") { 
                          
                        imagepng($new_img,$this->thumb_dir.$filename); 
                        } elseif (
                        $ext == "wbmp") { 
                          
                        imagewbmp($new_img,$this->thumb_dir.$filename); 
                        } else { 
                          return 
                        false

                        Ich würdes mal da probieren.
                        mfg - sagg

                        Kommentar


                        • #13
                          jo da such ich ja also das _a krieg ich auch vorm imagenamen aber nicht danach

                          greetz

                          MIB

                          Kommentar


                          • #14
                            so hab das prob jetzt mit folgendem code gelöst

                            PHP-Code:
                            #### Bild speichern; Bildtypen müssen unterschieden werden 
                                        
                            if ($ext == "jpg" || $ext == "jpeg") { 
                                            
                            $filename preg_replace('#^(.*?)(\.jpe?g)$#','\1_a\2',$filename); 
                                            
                            imagejpeg($new_img,$this->thumb_dir.$filename); 
                                        } elseif (
                            $ext == "gif") { 
                                            
                            $filename preg_replace('#^(.*?)(\.gif)$#','\1_a\2',$filename); 
                                            
                            imagegif($new_img,$this->thumb_dir.$filename); 
                                        } elseif (
                            $ext == "png") { 
                                            
                            $filename preg_replace('#^(.*?)(\.png)$#','\1_a\2',$filename); 
                                            
                            imagepng($new_img,$this->thumb_dir.$filename); 
                                        } elseif (
                            $ext == "wbmp") { 
                                            
                            $filename preg_replace('#^(.*?)(\.wbmp)$#','\1_a\2',$filename); 
                                            
                            imagewbmp($new_img,$this->thumb_dir.$filename); 
                                        } else { 
                                            return 
                            false
                                        } 

                            greetz

                            MIB

                            Kommentar


                            • #15
                              PHP-Code:
                              $pieces explode("."$filename);
                              $filenamenew '';
                              $arraycount count($pieces);

                              for(
                              $arrayindex 0$arrayindex <= $arraycount-2$arrayindex++) {
                               
                              $filenamenew .= $pieces[$arrayindex];
                              }
                              $filenamenew .= " [mein Text].".$pieces[$arraycount-1]; 
                              Also ich mach des so.... :P

                              Kommentar

                              Lädt...
                              X