getimagesizefromstring în PHP

Imagini PHP 5.4+

Află dimensiunile și tipul unei imagini aflate deja în memorie, ca text binar, fără să o scrii într-un fișier.

Sintaxă
getimagesizefromstring(string $string, &$image_info = null): array|false

Ce face getimagesizefromstring

getimagesizefromstring face același lucru ca getimagesize, dar primește conținutul imaginii, nu calea fișierului. Este potrivită pentru imagini primite de la un API, descărcate cu cURL sau decodate din Base64.

Rezultatul are aceeași formă: [0] lățimea, [1] înălțimea, [2] tipul IMAGETYPE_*, [3] atributele HTML și cheia mime.

Parametri

Parametru Descriere
$string Conținutul binar al imaginii.
$image_info Opțional. Variabilă în care se pun informații suplimentare, de exemplu blocul IPTC (APP13).

Ce returnează

Tabloul cu dimensiunile și tipul, sau false dacă datele nu sunt o imagine.

Exemple

Exemplul 1: Imagine creată în memorie

<?php
ob_start();
imagepng(imagecreatetruecolor(120, 80));
$png = ob_get_clean();

$info = getimagesizefromstring($png);
echo "$info[0] x $info[1], " . $info["mime"];

Rezultat

120 x 80, image/png

Exemplul 2: Imagine primită ca Base64

<?php
ob_start();
imagejpeg(imagecreatetruecolor(640, 480));
$base64 = base64_encode(ob_get_clean());

$info = getimagesizefromstring(base64_decode($base64));
echo $info === false ? "Nu este imagine" : $info[3];

Rezultat

width="640" height="480"

Greșeli frecvente

  • Dai un text foarte scurt care nu este imagine. Pe lângă false, PHP afișează un Notice („Error reading from …”). Verifică lungimea datelor înainte.

Comenzi înrudite

  • getimagesize: Află lățimea, înălțimea și tipul unei imagini (JPG, PNG, GIF, WebP etc.) fără să o încarce complet.
  • image_type_to_mime_type: Transformă o constantă IMAGETYPE_* (de exemplu IMAGETYPE_PNG) în tipul MIME corespunzător (image/png).
  • base64_encode / base64_decode: Transformă orice date (inclusiv binare) într-un text format doar din litere, cifre, +, / și =.