Показать изображение в браузере с getID3

Я хочу создать 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 отобразить изображение. Как это исправить?

1

Решение

Вам не нужно кодировать изображение в 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;
}
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]