Я не уверен, если это может быть сделано из переменной изображения $, но, чтобы получить MimeType, как правило, можно использовать любой из четырех:
// 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);
Из вашего описания вопроса я принимаю вы хотите использовать удаленный файл, так что вы могли бы сделать что-то вроде этого, чтобы сделать эту работу:
$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);
Примечание: если функция MimeType вы будете использовать поддерживает удаленные файлы, использовать его непосредственно, вместо того, чтобы создать копию файла первая
Если вам нужен MimeType, чтобы определить, какая функция imagecreatefrom
использовать, почему бы не сначала загрузить файл в виде строки, а затем разрешить GD, например.
// returns GD image resource of false
$imageString = file_get_contents('http://www.example.com/image.png');
if($imageString !== FALSE) {
$image = imagecreatefromstring($imageString);
}
Дело в том, что только с идентификатором ресурса изображения, доступным вашему коду, не должно иметь значения, к какому оригинальному файлу принадлежит этот объект. зачем вам нужно знать? – dqhendricks