Ce face image_type_to_extension
Când salvezi o imagine încărcată de un utilizator, e mai sigur să alegi tu extensia, după conținut, nu după numele trimis. image_type_to_extension îți dă extensia pentru tipul aflat cu getimagesize.
Pentru JPEG extensia returnată este .jpeg, nu .jpg.
Parametri
| Parametru | Descriere |
|---|---|
$image_type |
O constantă IMAGETYPE_*. |
$include_dot |
Opțional. false returnează extensia fără punct. |
Ce returnează
Extensia, ca text, sau false pentru un tip necunoscut.
Exemple
Exemplul 1: Extensii pentru tipuri uzuale
<?php
var_dump(image_type_to_extension(IMAGETYPE_JPEG));
var_dump(image_type_to_extension(IMAGETYPE_PNG, false));
var_dump(image_type_to_extension(999));
Rezultat
string(5) ".jpeg"
string(3) "png"
bool(false)
Exemplul 2: Nume sigur pentru un fișier încărcat
Fișierul se numește „poza.png”, dar conținutul este JPEG. Extensia aleasă după conținut este cea corectă.
<?php
imagejpeg(imagecreatetruecolor(20, 20), "poza.png");
$tip = getimagesize("poza.png")[2];
echo "img_1024" . image_type_to_extension($tip);
Rezultat
img_1024.jpeg
Greșeli frecvente
- Compari rezultatul cu
".jpg". Pentru JPEG funcția returnează".jpeg".
Comenzi înrudite
image_type_to_mime_type: Transformă o constantă IMAGETYPE_* (de exemplu IMAGETYPE_PNG) în tipul MIME corespunzător (image/png).getimagesize: Află lățimea, înălțimea și tipul unei imagini (JPG, PNG, GIF, WebP etc.) fără să o încarce complet.uniqid: Generează un identificator bazat pe ora curentă, în microsecunde. Unic în practică, dar previzibil.