Я хочу создать php-файл, который будет возвращать изображение песни в формате mp3 при вызове в качестве параметра src в теге img html. Что-то вроде этого:
<img src="/imageReturn.php?song=SongName">
Чтобы получить изображение из mp3-файла, я использовал библиотеку getID3. Мой код PHP:
$song= $_GET["song"];
require_once("getID3-1.9.15/getid3/getid3.php");
$Path=$song.".mp3";
$getID3 = new getID3;
$OldThisFileInfo = $getID3->analyze($Path);
if(isset($OldThisFileInfo['comments']['picture'][0]))
{
$ImageBase='data:'.$OldThisFileInfo['comments']['picture'][0]['image_mime'].';charset=utf-8;base64,'.base64_encode($OldThisFileInfo['comments']['picture'][0]['data']);
}
header('Content-Type: image/jpeg');
echo $ImageBase;
Проблема в том, что я не могу заставить php отобразить изображение. Как это исправить?
Вам не нужно кодировать изображение в base64, вы можете напрямую echo
данные изображения.
$getID3 = new getID3;
$OldThisFileInfo = $getID3->analyze($Path);
if(isset($OldThisFileInfo['comments']['picture'][0]))
{
header('Content-Type: ' . $OldThisFileInfo['comments']['picture'][0]['image_mime']);
echo $OldThisFileInfo['comments']['picture'][0]['data'];
die;
}
Других решений пока нет …