Отображение изображения в браузере с помощью getID3 - PullRequest
0 голосов
/ 06 мая 2018

Я хочу создать 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 Ответ

0 голосов
/ 06 мая 2018

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