Ankündigung

Einklappen
Keine Ankündigung bisher.

Outputparameter bei PHP-Script

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

  • Outputparameter bei PHP-Script

    Hallo zusammen,

    kenne mich mit PHP noch nicht gut aus, deshalb folgende grundsätzliche Frage zu PHP.

    Wie kann ich aus einem Script ein Ergebnis, welches innerhalb dieses Scriptes berechnet wird, zurückgeben?

    Ich bin dabei eine Bildergalerie zu schreiben. Die Erstellung der Thumbnails erfolgt mittels Script "thumbnail.php". Diesem Script übergebe ich per Parameter die Bilddatei (file=.$file).
    Das klappt soweit auch alles wie gewünscht. Die Bilder werden verkleinert dargestellt.

    PHP-Code:
    foreach($fileArray as $file)
    {
      echo 
    "<div id=\"galerie\"><img style=\"vertical-align:middle;\" src=\"./php/thumbnail.php?file=.$file\" alt=\"substr(strrchr($file, '/'), 1)\" /></div>\n";

    In dem Script hole ich mir erst einmal die Originalgröße von dem Bild und verkleinere es dann entsprechend, um die Seitenverhältnisse beizubehalten.
    Das sieht dann so aus.

    PHP-Code:
    <?php

      $max_px 
    100;
      
    $file $_GET['file'];      //weil register_global=off in php.ini

      // Dateiendung extrahieren ...
      
    if(($end strrchr($file".")) != false)
      {
        
    // ... und öffnen
        
    switch(strtolower(substr($end1)))         //führenden Punkt ignorieren
        
    {
          case 
    'png':
            
    $image_src imageCreateFromPng($file);
            break;
          case 
    'gif':
            
    $image_src imageCreateFromGif($file);
            break;
          case 
    'jpg':
          case 
    'jpeg':
            
    $image_src imageCreateFromJPEG($file);
            break;
          default:
            echo 
    "Dateiformat " $end " wird nicht unterstützt<br />";
        }

        
    // Bildabmessungen vom Original ermitteln
        
    $width_src imagesx($image_src);
        
    $height_src imagesy($image_src);

        
    // neue Bildabmessungen festlegen
        
    if($width_src $height_src)
        {
          
    $width_dst $max_px;
          
    $height_dst $max_px / ($width_src $height_src);
        }
        elseif(
    $width_src $height_src)
        {
          
    $height_dst $max_px;
          
    $width_dst $max_px / ($height_src $width_src);
        }
        else
        {
          
    $height_dst $max_px;
          
    $width_dst $max_px;
        }

        
    // Bild kopieren und ausgeben
        
    $image_dst imageCreateTrueColor($width_dst$height_dst);

        if(
    $image_dst != false)
        {
    //      imageCopyResized($image_dst, $image_src, 0, 0, 0, 0, $width_dst, $height_dst, $width_src, $height_src);
          
    imagecopyresampled($image_dst$image_src0000$width_dst$height_dst$width_src$height_src);
          
    header("Content-Type: image/jpeg");

          
    imagejpeg($image_dst);
          
    imageDestroy($image_src);
          
    imageDestroy($image_dst);
        }
        else
        {
          echo 
    "Fehler bei imageCreateTrueColor<br />";
        }
      }
      else
      {
        echo 
    "Fehler bei strrchr<br />";
      }

    ?>
    Die ermittelte Höhe und Breite von dem Thumbnail möchte ich nun vom Script zurückgeben, damit ich sie im oben gezeigten img-Tag mittels der Attribute height und width angeben kann.

    Könnt ihr mir dabei weiterhelfen?

    Danke schon einmal im Voraus!

  • #2
    AW: Outputparameter bei PHP-Script

    Du musst doch nicht die Atribute width und height im <img>-Tag vergeben?
    So groß, wie das Bild ist, so wird es auch angezeigt.

    Kommentar


    • #3
      AW: Outputparameter bei PHP-Script

      Das ich die Attribute height und width angeben möchte hat zwei Gründe:
      1. Zum Einen möchte ich das Bild im umschließenden div-Container vertikal zentrieren und dazu benötige ich diese Angaben
      2. Auf der anderen Seite habe ich gehört, dass der IE das Bild unter bestimmten umständen nicht anzeigt, wenn diese Angaben fehlen


      Hast du denn eine Idee, wie ich die Attribute befüllen kann?

      Kommentar


      • #4
        AW: Outputparameter bei PHP-Script

        Du könntest es anders machen: Das Script, dass dein Bild anzeigt ruft die Datei thumbnail.php schon mit den Parametern für Höhe und Breite in der GET-Zeile auf. Setzt natürlich voraus, dass die Werte nicht mehr in thumbnail.php ausgerechnet werden.

        Andere Möglichkeit:

        Du liest mit z.B. getimagesize die Größe aus dem Bild "thumbnail.php?file=blabla".

        Kommentar


        • #5
          AW: Outputparameter bei PHP-Script

          Hey danke.
          Das klingt gut, ich werde es einfach mal ausprobieren.

          Kommentar


          • #6
            AW: Outputparameter bei PHP-Script

            Zitat von Listu Beitrag anzeigen
            Andere Möglichkeit:

            Du liest mit z.B. getimagesize die Größe aus dem Bild "thumbnail.php?file=blabla".
            das würde die server arbeit allerdings verdoppeln.

            andere frage: ist es wirklich nötig die bilder zur laufzeit zu verkleinern?
            AC/DC Fanpage www.ifyouwantblood.de
            Nein zur Zensur im Internet und anderswo - Anonymous

            Kommentar


            • #7
              AW: Outputparameter bei PHP-Script

              Hey Brian,

              wäre die "Mehrarbeit" so gravierend, dass man den Unterschied merken würde? Ich werde nur ca. 10 Bilder in der Galerie haben, nicht wesentlich mehr.
              Was gibt es denn noch für Alternativen?
              Die Thumbnails vorher erstellen und zusätzlich auf dem Server speichern?

              Kommentar


              • #8
                AW: Outputparameter bei PHP-Script

                Zitat von paterg Beitrag anzeigen
                Hey Brian,

                wäre die "Mehrarbeit" so gravierend, dass man den Unterschied merken würde?
                ja
                Ich werde nur ca. 10 Bilder in der Galerie haben, nicht wesentlich mehr.
                Was gibt es denn noch für Alternativen?
                Die Thumbnails vorher erstellen und zusätzlich auf dem Server speichern?
                ja und wenn es existiert via header() weiterleiten.

                Kommentar


                • #9
                  AW: Outputparameter bei PHP-Script

                  "Via Header() weiterleiten"?
                  Was genau meinst du damit?

                  Kommentar


                  • #10
                    AW: Outputparameter bei PHP-Script

                    Zitat von paterg Beitrag anzeigen
                    Hey Brian,

                    wäre die "Mehrarbeit" so gravierend, dass man den Unterschied merken würde? Ich werde nur ca. 10 Bilder in der Galerie haben, nicht wesentlich mehr.
                    es kommt nicht auf die anzahl der bilder an, sondern auf deren aufrufe. und die mehrarbeit ist gravierend, bilder bearbeitung gehört zu den leistungsaufwändigsten dingen.

                    Was gibt es denn noch für Alternativen?
                    Die Thumbnails vorher erstellen und zusätzlich auf dem Server speichern?
                    genau.
                    AC/DC Fanpage www.ifyouwantblood.de
                    Nein zur Zensur im Internet und anderswo - Anonymous

                    Kommentar


                    • #11
                      AW: Outputparameter bei PHP-Script

                      PHP-Code:
                      if (file_exists($file)) {
                      header("Location:" $file);
                      } else {
                      img...


                      Kommentar


                      • #12
                        AW: Outputparameter bei PHP-Script

                        Danke, aber so ganz schlau werde ich aus dem Link nicht.
                        Was genau passiert durch den Aufruf der header-Funktion? Insbesondere bei header("Location:...")?

                        Kommentar


                        • #13
                          AW: Outputparameter bei PHP-Script

                          Man, die Anfrage, wie auch immer wird weitergeleitet oder umgeleitet.

                          Kommentar

                          homepage-forum.de - Hilfe für Webmaster! Statistiken

                          Einklappen

                          Themen: 57.205   Beiträge: 432.330   Mitglieder: 29.597   Aktive Mitglieder: 46
                          Willkommen an unser neuestes Mitglied, Drausi.

                          Online-Benutzer

                          Einklappen

                          772 Benutzer sind jetzt online. Registrierte Benutzer: 2, Gäste: 770.

                          Mit 4.707 Benutzern waren am 12.01.2023 um 03:07 die meisten Benutzer gleichzeitig online.

                          Die neuesten Themen

                          Einklappen

                          Die neuesten Beiträge

                          Einklappen

                          Lädt...
                          X