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ă unNotice(„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 =.