Ich bin nicht sicher, ob es aus dem $ Bild variabel gemacht werden kann, aber die Mimetype zu erhalten, können Sie in der Regel eine der vier verwenden:
// 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);
Aus Ihrer Frage Beschreibung möchte ich Sie zu verwenden, um eine Remote-Datei, so dass Sie so etwas tun könnte diese Arbeit zu machen:
$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);
Hinweis: wenn die Mimetype-Funktion werden Sie unterstützt Remote-Dateien verwenden, verwenden Sie es direkt, anstatt eine Kopie der Datei zu erstellen zuerst
Wenn Sie den MimeType nur benötigen, um festzustellen, welche imagecreatefrom
-Funktion zu verwenden ist, warum laden Sie die Datei nicht zuerst als String und lassen GD dann entscheiden, z.
// returns GD image resource of false
$imageString = file_get_contents('http://www.example.com/image.png');
if($imageString !== FALSE) {
$image = imagecreatefromstring($imageString);
}
Die Sache ist, mit nur einer Image-Ressource-Kennung für Ihren Code, sollte es egal sein, was die ursprüngliche Datei für dieses Objekt war. Warum willst du das wissen? – dqhendricks