Ausgabe von getimagesize

  • Hallo!


    Hab da bei PHP.net die function getimagesize gefunden.


    Ich möchte gerne die Grösse des Bildes mit echo am Bildschirm anzeigen lassen und mir das hier gebastelt...

    Code
    <span class="syntaxdefault">$filename</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"img_on_the_fly.php"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">echo $anzeige </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> getimagesize</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$filename</span><span class="syntaxkeyword">);</span><span class="syntaxdefault"> </span>


    Kann mir bitte jemand sagen warum das Ding nicht "tut".


    auch schaffe ich es einfach nicht das in den Quelltext einzubauen so das die grösse im img tag angezeigt wird


    Gruss


  • Versuch es mal so:

    PHP
    <span class="syntaxdefault">    $filename</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"img_on_the_fly.php"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">    print_r </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">getimagesize</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$filename</span><span class="syntaxkeyword">));</span><span class="syntaxdefault">  </span>


    (Weil das wird nicht als String, sondern als Array ausgegeben^^
    Probiert es aus und benutzt print_r, ihr werdet sehen, dass euch ein Array ausgegeben wird^^)


    Und das jetzt in einen <img>.. öhm, glaube würde das über eine Funktion machen^^
    So in etwa:

    PHP
    <span class="syntaxdefault">function Bild</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$Filename</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $Alt_Attribut </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">""</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">    $image_size </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> getimagesize</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$Filename</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">    echo </span><span class="syntaxstring">'<img src=" '</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$Filename</span><span class="syntaxkeyword">.</span><span class="syntaxstring">' " alt=" '</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$Alt_Attribut</span><span class="syntaxkeyword">.</span><span class="syntaxstring">' (Breite:'</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$image_size</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">].</span><span class="syntaxstring">'- H&ouml;he:'</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$image_size</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">1</span><span class="syntaxkeyword">].</span><span class="syntaxstring">') " />'</span><span class="syntaxkeyword">;<br />}</span><span class="syntaxdefault"> </span>


    Jetzt wird in diesem Fall im alt-Attribut die Höhe und Breite angegeben^^


    So müsse dass aussehen, wenn du width udn height haben möchtest:

    PHP
    <span class="syntaxdefault">function Bild</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$Filename</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $Alt_Attribut </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">""</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">    $image_size </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> getimagesize</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$Filename</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">    echo </span><span class="syntaxstring">'<img src=" '</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$Filename</span><span class="syntaxkeyword">.</span><span class="syntaxstring">' " width=" '</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$image_size</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">].</span><span class="syntaxstring">' " height=" '</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$image_size</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">1</span><span class="syntaxkeyword">].</span><span class="syntaxstring">' "  alt=" '</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$Alt_Attribut</span><span class="syntaxkeyword">.</span><span class="syntaxstring">' " />'</span><span class="syntaxkeyword">;<br />}</span><span class="syntaxdefault"> </span>




    @Basiii:
    Upps, darauf hatte ich jetzt gar nicht geachtet :D
    Hab es bei mir jetzt einfach mal mit nem jpg probiert :D

  • Zitat von &quot;sarrkan&quot;


    Versuch es mal so:


    Code
    <span class="syntaxdefault">$filename</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"img_on_the_fly.php"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">    print_r </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">getimagesize</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$filename</span><span class="syntaxkeyword">));</span><span class="syntaxdefault"> </span>


    ja, dachte ich! ein array^^


    jedoch kommt keine Ausgabe am Screen.


    mit:

    Code
    <span class="syntaxdefault"><br />$size </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> getimagesize</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$filename</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">var_dump</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$size</span><span class="syntaxkeyword">);</span><span class="syntaxdefault"> </span>


    wird mir

    Zitat

    BOOL(FALSE)

    ausgegeben


    kann das damit zusammenhängen das das Bild mit PHP erstellt wurde?

    Code
    <span class="syntaxdefault"></span><span class="syntaxcomment">// Kopfdaten / Datei-Typ / Bild / PNG<br /></span><span class="syntaxdefault">header </span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> </span><span class="syntaxstring">"content-type: image/png"</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">);<br /></span><span class="syntaxcomment">// Bild erstellen / 400px Breite und 300px Höhe<br /></span><span class="syntaxdefault">$bild </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> imagecreate </span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> 400</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> 300 </span><span class="syntaxkeyword">);<br /></span><span class="syntaxcomment">// Hintergrundfarbe<br /></span><span class="syntaxdefault">imagecolorallocate </span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> $bild</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> 60</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> 60</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> 60</span><span class="syntaxkeyword">);<br /></span><span class="syntaxcomment">// Farben definieren<br /></span><span class="syntaxdefault">$farbe1 </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> imagecolorallocate </span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> $bild</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> 255</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> 255</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> 0 </span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">$farbe2 </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> imagecolorallocate </span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> $bild</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> 0</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">   255</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> 0 </span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">$farbe3 </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> imagecolorallocate </span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> $bild</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> 0</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">   0</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">   255 </span><span class="syntaxkeyword">);<br /></span><span class="syntaxcomment">// Viereck zeichnen (Syntax = x1, y1, x2, y2, Farbe);<br /></span><span class="syntaxdefault">imagefilledrectangle </span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> $bild</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> 20</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">  75</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">  350</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> 250</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $farbe1 </span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">imagefilledrectangle </span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> $bild</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> 150</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> 100</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> 200</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> 280</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $farbe2 </span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">imagefilledrectangle </span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> $bild</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> 320</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> 100</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> 250</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> 190</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $farbe3 </span><span class="syntaxkeyword">);<br /></span><span class="syntaxcomment">//Ausgabe des Bildes<br /></span><span class="syntaxdefault">imagepng</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> $bild </span><span class="syntaxkeyword">);</span><span class="syntaxdefault"> </span>


    Gruss^^

  • (Ich habe zwar das Kapitel, mit dem erstellen von Bildern in PHP durchgearbeitet, da ich es aber jedoch noch nie benötigt habe, ist mein wissen darüber "leicht" lückenhaft ^^)


    Kann man das Bild nicht normal auch unter img_on_the_fly.png ansprechen?
    Beziehungsweise wird ein erstelltes Bild nicht normal irgendwo gespeichert? Beziehungsweise ist es normal nicht abspeicherbar?

  • die dateiendung auf png zu setzen funtioniert nicht ^^


    weder ausgabe im html-tag

    Code
    <span class="syntaxdefault"></span><span class="syntaxkeyword"><</span><span class="syntaxdefault">img src</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"img_on_the_fly.png"</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">/></span><span class="syntaxdefault"> </span>

    was mit

    Code
    <span class="syntaxdefault"></span><span class="syntaxkeyword"><</span><span class="syntaxdefault">img src</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"img_on_the_fly.php"</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">/></span><span class="syntaxdefault"> </span>

    noch funtioniert


    noch über print_f :#


    Zitat

    Kann man das Bild nicht normal auch unter img_on_the_fly.png ansprechen?


    die dateiendung auf php zu lassen und einfach über png aufzurufen produziert das gleiche^^


    Zitat

    Beziehungsweise wird ein erstelltes Bild nicht normal irgendwo gespeichert? Beziehungsweise ist es normal nicht abspeicherbar?


    ich hab bis jetzt nur die möglichkeit der ausgabe des erstellten bildes gefunden

  • Zitat

    Wird das Bild denn angezeigt, wenn du die URL des Bildes im Browser öffnest?


    das bild ist mit PHP erstellt - datei endung -> .php


    wenn ich die URL im browser öffne, kommt es darauf ob ich

    Code
    <span class="syntaxdefault"></span><span class="syntaxcomment">//Ausgabe des Bildes<br /></span><span class="syntaxdefault">imagepng</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> $bild </span><span class="syntaxkeyword">);</span><span class="syntaxdefault">  </span>


    in der Datei geschrieben habe


    wenn ja dann Ausgabe


    sonst no^^


    Gruss


    _______________________________
    EDIT


    hab das jetzt mal mit einer .png grafik getestet^^
    Array wird schön aufgelistet >>.mh

  • Zitat von &quot;Peter1978&quot;


    hab das jetzt mal mit einer .png grafik getestet^^
    Array wird schön aufgelistet >>.mh


    Dann akzeptiert "getimagesize" wohl keine *.php Bilder.
    Bei mir funktionieren *.php -Bilder auch nicht.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!