Io non so se si può fare dalla variabile immagine $, ma per ottenere il MimeType, di solito si può usare qualsiasi dei quattro:
// with GD
$img = getimagesize($path);
return $img['mime'];
// with FileInfo
$fi = new finfo(FILEINFO_MIME);
return $fi->file($path);
// with Exif (returns image constant value)
return exif_imagetype($path)
// deprecated
return mime_content_type($path);
Dalla tua descrizione domanda prendo vuoi utilizzare un file remoto, in modo che si possa fare qualcosa di simile per fare questo lavoro:
$tmpfname = tempnam("/tmp", "IMG_"); // use any path writable for you
$imageCopy = file_get_contents('http://www.example.com/image.png');
file_put_contents($tmpfname, $imageCopy);
$mimetype = // call any of the above functions on $tmpfname;
unlink($tmpfname);
Nota: se la funzione MimeType userete supporta i file remoti, utilizzare direttamente, invece di creare una copia del file prima
Se è necessario il MimeType solo per determinare quale funzione imagecreatefrom
utilizzare, perché non caricare prima il file come stringa e quindi lasciare decidere GD, ad es.
// returns GD image resource of false
$imageString = file_get_contents('http://www.example.com/image.png');
if($imageString !== FALSE) {
$image = imagecreatefromstring($imageString);
}
la cosa è, con solo un identificatore di risorse di immagine disponibile per il codice, non dovrebbe importare quale fosse il file originale per questo oggetto. perché hai bisogno di sapere? – dqhendricks