Wie schreibe ich dieses Script in einer Funktion um??

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

  • Wie schreibe ich dieses Script in einer Funktion um??

    Hi,

    ich habe hier ein Script, das Größe eines Bildes ändert:

    Code:
    $pic = "test.jpg";
    		
    $size = GetImageSize ($pic); // Bild einlesen
    $imagewidth = $size[0]; // Breite auslesen
    $imageheight = $size[1]; // Höhe auslesen
    
    $maxwidth = "100";
    
    if ($imagewidth > $maxwidth)
    {
    	$imageprop=$maxwidth/$imagewidth;
    	$imagevsize= $imageheight*$imageprop;
    	$imagewidth=$maxwidth; 
    	$imageheight=ceil($imagevsize);
    }
    Nun möchte ich das Ganze in einer Funktion umschreiben und kriege es nicht hin.

    Kann mir bitte jemand helfen??

    Danke

  • #2
    Abgesehen davon das dein Code keine Bildgröße ändert.

    PHP-Code:
    function nameDerFunktion($pic$maxwidth "100")
    {
      if (
    file_exists($pic)
      {
        
    $size GetImageSize ($pic); // Bild einlesen
        
    $imagewidth $size[0]; // Breite auslesen 
        
    $imageheight $size[1]; // Höhe auslesen

        
    if ($imagewidth $maxwidth)
        {
        
    $imageprop=$maxwidth/$imagewidth;
        
    $imagevsize$imageheight*$imageprop;
        
    $imagewidth=$maxwidth
        
    $imageheight=ceil($imagevsize);
        }

        return 
    $imageheight// Falls es der Wert ist den du suchst
      
      
    } else {
        return 
    false;

    gruss Chris

    [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

    Kommentar


    • #3
      Besten Dank für die schnelle Antwort.

      Es hat super geklappt.

      Kommentar


      • #4
        Hi,

        mir ist aufgefallen, dass obwohl die Funktion den Wert für $imagewidth ermittelt, diesen nicht zurückgibt.

        Wenn ich nun am Ende der Funktion folgendes Schreibe:

        return $imagewidth;
        return $imageheight;

        Erscheint eine Fehlermeldung.

        Wie kann ich in der Funktion den Wert für $imagewidth zurückgeben?

        Danke

        Kommentar


        • #5
          in einer FUnktion darf nur ein return-Statement stehen. Wenn du unbedingt beides zurückgeliefert haben möchstest pack die beiden in ein array und schreib
          PHP-Code:
          <?php 
          function funktion(){
             
          //rödel rödel
             
          return $deinarray;
          }
           
          ?>
          dann kannst einfach auf beides zugreifen

          mfg

          Kommentar


          • #6
            Du kannst mittels return nur einen Wert zurückgeben. Also, pack die zwei Werte in ein Array, und gib das Array mit return zurück.

            Kommentar


            • #7
              Etwa so??:

              PHP-Code:
                  function resizeImage($pic)
                  {        
                      
              $size GetImageSize ($pic); // Bild einlesen
                      
              $imagewidth $size[0]; // Breite auslesen 
                      
              $imageheight $size[1]; // Höhe auslesen
                  
                      
              $maxwidth 100;
                                  
                      if (
              $imagewidth $maxwidth)
                      {
                          
              $imageprop=$maxwidth/$imagewidth;
                          
              $imagevsize$imageheight*$imageprop;
                          
              $imagewidth=$maxwidth
                          
              $imageheight=ceil($imagevsize);
                      }
                      
                      return array(
              $imagewidth$imageheight);
                  } 

              Kommentar

              Lädt...
              X