image_type_to_extension în PHP

Imagini PHP 5.2+

Returnează extensia de fișier potrivită pentru o constantă IMAGETYPE_* (de exemplu .jpeg sau png).

Sintaxă
image_type_to_extension(int $image_type, bool $include_dot = true): string|false

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.