<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.image.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'de',
  ),
  'this' => 
  array (
    0 => 'function.getimagesize.php',
    1 => 'getimagesize',
    2 => 'Liefert die Gr&ouml;&szlig;e einer Grafik',
  ),
  'up' => 
  array (
    0 => 'ref.image.php',
    1 => 'GD- und Image-Funktionen',
  ),
  'prev' => 
  array (
    0 => 'function.gd-info.php',
    1 => 'gd_info',
  ),
  'next' => 
  array (
    0 => 'function.getimagesizefromstring.php',
    1 => 'getimagesizefromstring',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'de',
    'path' => 'reference/image/functions/getimagesize.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.getimagesize" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">getimagesize</h1>
  <p class="verinfo">(PHP 4, PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">getimagesize</span> &mdash; <span class="dc-title">Liefert die Größe einer Grafik</span></p>

 </div>
 <div class="refsect1 description" id="refsect1-function.getimagesize-description">
  <h3 class="title">Beschreibung</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>getimagesize</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$filename</code></span>, <span class="methodparam"><span class="type"><a href="language.types.array.php" class="type array">array</a></span> <code class="parameter reference">&$image_info</code><span class="initializer"> = <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong></span></span>): <span class="type"><span class="type"><a href="language.types.array.php" class="type array">array</a></span>|<span class="type"><a href="language.types.singleton.php" class="type false">false</a></span></span></div>

  <p class="para rdfs-comment">
   Die Funktion <span class="function"><strong>getimagesize()</strong></span> ermittelt die Größe der
   übergebenen Grafik, sofern das Format unterstützt wird, und gibt die
   Abmessungen zusammen mit dem Dateityp und einer Zeichenkette aus
   <code class="literal">Breite</code> und <code class="literal">Höhe</code> zurück, die innerhalb
   eines regulären <abbr title="Hyper Text Markup Language">HTML</abbr>-<code class="tag">IMG</code>-Tags verwendet
   werden kann. Außerdem wird der entsprechende
   <abbr title="Hypertext Transfer Protocol">HTTP</abbr>-Content-Type zurückgegeben.
  </p>
  <p class="para">
   <span class="function"><strong>getimagesize()</strong></span> kann im Parameter
   <code class="parameter">image_info</code> weitere Informationen liefern.
  </p>
  <div class="caution"><strong class="caution">Achtung</strong>
   <p class="para">
    Diese Funktion erwartet, dass <code class="parameter">filename</code> eine gültige
    Bilddatei ist. Wird eine Datei angegeben, die kein Bild enthält, kann sie
    fälschlicherweise als Bild erkannt werden und die Funktion wird
    erfolgreich ausgeführt, aber das Array kann unsinnige Werte enthalten.
   </p>
   <p class="para">
    <span class="function"><strong>getimagesize()</strong></span> sollte nicht verwendet werden, um zu
    überprüfen, ob eine gegebene Datei ein Bild enthält. Stattdessen sollte
    eine für diesen Zweck entwickelte Lösung wie die Erweiterung
    <a href="book.fileinfo.php" class="link">Fileinfo</a> verwendet werden.
   </p>
  </div>
  <blockquote class="note"><p><strong class="note">Hinweis</strong>: 
   <span class="simpara">
    Beachten Sie, dass JPC und JP2 aus Komponenten mit verschiedener Farbtiefe
    bestehen können. In diesem Fall entspricht der Wert für &quot;bits&quot; dem
    höchsten gefundenen Wert. Des Weiteren können JP2-Dateien mehrere
    JPEG-2000-Codestreams enthalten. In diesem Fall gibt
    <span class="function"><strong>getimagesize()</strong></span> die Werte des ersten gefundenen
    Codestreams zurück.
   </span>
  </p></blockquote>
  <blockquote class="note"><p><strong class="note">Hinweis</strong>: 
   <span class="simpara">
    Informationen über Icons werden für das Icon mit der höchsten Bitrate
    ermittelt.
   </span>
  </p></blockquote>
  <blockquote class="note"><p><strong class="note">Hinweis</strong>: 
   <span class="simpara">
    GIF-Bilder bestehen aus einem oder mehreren Frames, wobei jeder Frame nur
    einen Teil des Bildes belegen kann. Die Größe des Bildes, die von
    <span class="function"><strong>getimagesize()</strong></span> gemeldet wird, ist die Gesamtgröße
    (ermittelt aus dem Logical Screen Descriptor).
   </span>
  </p></blockquote>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.getimagesize-parameters">
  <h3 class="title">Parameter-Liste</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">filename</code></dt>
     <dd>
      <p class="para">
       Die zu überprüfende Datei. Dabei kann es sich um eine lokale Datei
       oder, eine entsprechende Konfiguration vorausgesetzt, um eine entfernte
       Datei handeln, die über einen der
       <a href="wrappers.php" class="link">unterstützten Streams</a> gelesen wird.
      </p>
     </dd>
    
    
     <dt><code class="parameter">image_info</code></dt>
     <dd>
      <p class="para">
       Dieser optionale Parameter erlaubt es, erweiterte Informationen aus der
       Datei zu ermitteln. Aktuell werden die verschiedenen
       <abbr>JPG</abbr>-APP-Markierungen als assoziatives Array
       zurückgegeben. Diese Markierungen werden von einigen Programmen
       verwendet um, Textinformationen in Grafiken zu speichern. Gebräuchlich
       ist die Einbettung von
       <a href="http://www.iptc.org/" class="link external">&raquo;&nbsp;IPTC</a>-Informationen in die
       APP13-Markierung. Sie können <span class="function"><a href="function.iptcparse.php" class="function">iptcparse()</a></span> verwenden,
       um die binäre APP13-Markierung in ein lesbares Format zu übertragen.
      </p>
      <blockquote class="note"><p><strong class="note">Hinweis</strong>: 
       <p class="para">
        Der Parameter <code class="parameter">image_info</code> unterstützt nur
        <abbr>JFIF</abbr>-Dateien.
       </p>
      </p></blockquote>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.getimagesize-returnvalues">
  <h3 class="title">Rückgabewerte</h3>
  <p class="para">
   Gibt ein Array mit bis zu sieben Elementen zurück. Nicht alle Bildtypen
   enthalten die Elemente <code class="literal">channels</code> und
   <code class="literal">bits</code>.
  </p>
  <p class="para">
   Index 0 und 1 enthalten die Breite bzw. die Höhe des Bildes.
  </p>
  <blockquote class="note"><p><strong class="note">Hinweis</strong>: 
   <p class="para">
    Einige Formate enthalten keine oder mehrere Grafiken. In diesen Fällen ist
    <span class="function"><strong>getimagesize()</strong></span> möglicherweise nicht in der Lage, die
    Abmessungen zu ermitteln; der Rückgabewert für Breite und Höhe ist in
    diesen Fällen 0.
   </p>
  </p></blockquote>
  <blockquote class="note"><p><strong class="note">Hinweis</strong>: 
   <span class="simpara">
    Die Funktion <span class="function"><strong>getimagesize()</strong></span> berücksichtigt die Metadaten
    des Bildes nicht.
    Wenn z. B. das Exif-Flag <code class="literal">Orientation</code> auf einen Wert
    gesetzt ist, der das Bild um 90 oder 270 Grad dreht, werden die Indizes 0
    und 1 vertauscht, d. h. sie enthalten die Höhe bzw. Breite.
   </span>
  </p></blockquote>
  <p class="para">
   Index 2 ist eine der
   <strong><code><a href="image.constants.php#constant.imagetype-gif">IMAGETYPE_<span class="replaceable">*</span></a></code></strong>-Konstanten, die
   den Typ der Grafik angeben.
  </p>
  <p class="para">
   Index 3 ist eine Zeichenkette mit dem Attributen Breite und Höhe in der
   Form <code class="literal">height=&quot;yyy&quot; width=&quot;xxx&quot;</code> zur Verwendung in einem
   <abbr>IMG</abbr>-Tag.
  </p>
  <p class="para">
   <code class="literal">mime</code> entspricht dem MIME-Typ der Grafik. Diese
   Information kann zur Auslieferung von Grafiken mit dem entsprechenden
   HTTP-<code class="literal">Content-type</code>-Header dienen.
   <div class="example" id="example-1">
    <p><strong>Beispiel #1 <span class="function"><strong>getimagesize()</strong></span> und MIME-Typ</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$size </span><span style="color: #007700">= </span><span style="color: #0000BB">getimagesize</span><span style="color: #007700">(</span><span style="color: #0000BB">$filename</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$fp </span><span style="color: #007700">= </span><span style="color: #0000BB">fopen</span><span style="color: #007700">(</span><span style="color: #0000BB">$filename</span><span style="color: #007700">, </span><span style="color: #DD0000">"rb"</span><span style="color: #007700">);<br />if (</span><span style="color: #0000BB">$size </span><span style="color: #007700">&amp;&amp; </span><span style="color: #0000BB">$fp</span><span style="color: #007700">) {<br />    </span><span style="color: #0000BB">header</span><span style="color: #007700">(</span><span style="color: #DD0000">"Content-type: </span><span style="color: #007700">{</span><span style="color: #0000BB">$size</span><span style="color: #007700">[</span><span style="color: #DD0000">'mime'</span><span style="color: #007700">]}</span><span style="color: #DD0000">"</span><span style="color: #007700">);<br />    </span><span style="color: #0000BB">fpassthru</span><span style="color: #007700">(</span><span style="color: #0000BB">$fp</span><span style="color: #007700">);<br />    exit;<br />} else {<br />    </span><span style="color: #FF8000">// Fehler<br /></span><span style="color: #007700">}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
  </p>
  <p class="para">
   <code class="literal">channels</code> hat für RGB-Grafiken den Wert 3, für CMYK den
   Wert 4.
  </p>
  <p class="para">
   <code class="literal">bits</code> entspricht der Anzahl der Bits pro Farbe.
  </p>
  <p class="para">
   Für einige Bildformate kann die Angebe von <code class="literal">channels</code> und
   <code class="literal">bits</code> irreführend sein. Beispielsweise nutzt
   <abbr title="Graphic Interchange Format">GIF</abbr> immer drei Kanäle pro Pixel, aber die Anzahl der
   Bits pro Pixel kann für ein animiertes <abbr title="Graphic Interchange Format">GIF</abbr> mit einer
   globalen Farbtabelle nicht errechnet werden.
  </p>
  <p class="para">
   Gibt im Falle eines Fehlers <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> zurück.
  </p>
 </div>


 <div class="refsect1 errors" id="refsect1-function.getimagesize-errors">
  <h3 class="title">Fehler/Exceptions</h3>
  <p class="para">
   Wenn ein Zugriff auf die mit <code class="parameter">filename</code> angegebene
   Grafik nicht möglich ist, wird <span class="function"><strong>getimagesize()</strong></span> einen
   Fehler der Stufe <strong><code><a href="errorfunc.constants.php#constant.e-warning">E_WARNING</a></code></strong> generieren. Bei einem
   Lesefehler wird <span class="function"><strong>getimagesize()</strong></span> einen Fehler der Stufe
   <strong><code><a href="errorfunc.constants.php#constant.e-notice">E_NOTICE</a></code></strong> hervorrufen.
  </p>
 </div>


 <div class="refsect1 changelog" id="refsect1-function.getimagesize-changelog">
  <h3 class="title">Changelog</h3>
  <p class="para">
   <table class="doctable informaltable">
    
     <thead>
      <tr>
       <th>Version</th>
       <th>Beschreibung</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td>8.2.0</td>
       <td>
        Gibt nun die tatsächlichen Abmessungen, Bits und Kanäle von
        AVIF-Bildern zurück; zuvor wurden die Abmessungen als
        <code class="literal">0x0</code> zurückgegeben, und Bits und Kanäle wurden
        überhaupt nicht zurückgegeben.
       </td>
      </tr>

      <tr>
       <td>7.1.0</td>
       <td>
        Unterstützung für WebP hinzugefügt.
       </td>
      </tr>

     </tbody>
    
   </table>

  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-function.getimagesize-examples">
  <h3 class="title">Beispiele</h3>
  <p class="para">
   <div class="example" id="example-2">
    <p><strong>Beispiel #2 <span class="function"><strong>getimagesize()</strong></span>-Beispiel</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">list(</span><span style="color: #0000BB">$width</span><span style="color: #007700">, </span><span style="color: #0000BB">$height</span><span style="color: #007700">, </span><span style="color: #0000BB">$type</span><span style="color: #007700">, </span><span style="color: #0000BB">$attr</span><span style="color: #007700">) = </span><span style="color: #0000BB">getimagesize</span><span style="color: #007700">(</span><span style="color: #DD0000">"img/flag.jpg"</span><span style="color: #007700">);<br />echo </span><span style="color: #DD0000">"&lt;img src=\"img/flag.jpg\" </span><span style="color: #0000BB">$attr</span><span style="color: #DD0000"> alt=\"getimagesize() example\" /&gt;"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
   <div class="example" id="example-3">
    <p><strong>Beispiel #3 getimagesize (URL)</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$size </span><span style="color: #007700">= </span><span style="color: #0000BB">getimagesize</span><span style="color: #007700">(</span><span style="color: #DD0000">"http://www.example.com/gifs/logo.gif"</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Wenn der Dateiname ein Leerzeichen enthält, muss es korrekt kodiert werden.<br /></span><span style="color: #0000BB">$size </span><span style="color: #007700">= </span><span style="color: #0000BB">getimagesize</span><span style="color: #007700">(</span><span style="color: #DD0000">"http://www.example.com/gifs/lo%20go.gif"</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
   <div class="example" id="example-4">
    <p><strong>Beispiel #4 <span class="function"><strong>getimagesize()</strong></span> mit Rückgabe von IPTC</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$size </span><span style="color: #007700">= </span><span style="color: #0000BB">getimagesize</span><span style="color: #007700">(</span><span style="color: #DD0000">"testimg.jpg"</span><span style="color: #007700">, </span><span style="color: #0000BB">$info</span><span style="color: #007700">);<br />if (isset(</span><span style="color: #0000BB">$info</span><span style="color: #007700">[</span><span style="color: #DD0000">"APP13"</span><span style="color: #007700">])) {<br />    </span><span style="color: #0000BB">$iptc </span><span style="color: #007700">= </span><span style="color: #0000BB">iptcparse</span><span style="color: #007700">(</span><span style="color: #0000BB">$info</span><span style="color: #007700">[</span><span style="color: #DD0000">"APP13"</span><span style="color: #007700">]);<br />    </span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">$iptc</span><span style="color: #007700">);<br />}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
  </p>
 </div>


 <div class="refsect1 notes" id="refsect1-function.getimagesize-notes">
  <h3 class="title">Anmerkungen</h3>
  <blockquote class="note"><p><strong class="note">Hinweis</strong>: <p class="para">Diese Funktion benötigt die GD-Bibliothek nicht.</p></p></blockquote>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.getimagesize-seealso">
  <h3 class="title">Siehe auch</h3>
  <ul class="simplelist">
   <li><span class="function"><a href="function.image-type-to-mime-type.php" class="function" rel="rdfs-seeAlso">image_type_to_mime_type()</a> - Get Mime-Type for image-type returned by getimagesize,
   exif_read_data, exif_thumbnail, exif_imagetype</span></li>
   <li><span class="function"><a href="function.exif-imagetype.php" class="function" rel="rdfs-seeAlso">exif_imagetype()</a> - Ermittelt den Bildtyp</span></li>
   <li><span class="function"><a href="function.exif-read-data.php" class="function" rel="rdfs-seeAlso">exif_read_data()</a> - Liest die EXIF-Header einer Bilddatei aus</span></li>
   <li><span class="function"><a href="function.exif-thumbnail.php" class="function" rel="rdfs-seeAlso">exif_thumbnail()</a> - Liest das eingebettete Miniaturbild eines Bildes aus</span></li>
   <li><span class="function"><a href="function.imagesx.php" class="function" rel="rdfs-seeAlso">imagesx()</a> - Ermittelt die Breite eines Bildes</span></li>
   <li><span class="function"><a href="function.imagesy.php" class="function" rel="rdfs-seeAlso">imagesy()</a> - Ermittelt die H&ouml;he eines Bildes</span></li>
  </ul>
 </div>


</div><?php manual_footer($setup); ?>