У меня есть код для предварительного просмотра фотографии обложки из mp3 файла. он показывает фотографию на обложке, но я хочу экспортировать изображение в формате .jpg, как это сделать? вот мой код
require_once('getid3.php');
$getID3 = new getID3;
#$getID3->option_tag_id3v2 = true;
$getID3->analyze("Daayre.mp3");
if (isset($getID3->info['id3v2']['APIC'][0]['data'])) {
$cover = $getID3->info['id3v2']['APIC'][0]['data'];
} elseif (isset($getID3->info['id3v2']['PIC'][0]['data'])) {
$cover = $getID3->info['id3v2']['PIC'][0]['data'];
} else {
$cover = null;
}
if (isset($getID3->info['id3v2']['APIC'][0]['image_mime'])) {
$mimetype = $getID3->info['id3v2']['APIC'][0]['image_mime'];
} else {
$mimetype = 'image/jpeg'; // or null; depends on your needs
}
if (!is_null($cover)) {
header("Content-Type: ".$mimetype);
if (isset($getID3->info['id3v2']['APIC'][0]['image_bytes'])) {
header("Content-Length: ".$getID3->info['id3v2']['APIC'][0]['image_bytes']);
}
echo($cover);
}
здесь, если я напишу <img src="<?php echo $cover; ?>"/>
тогда это покажет картину.
Я хочу экспортировать картинку.
как это сделать?
Что хранится внутри $cover
? Кажется, вы должны просто написать $cover
в файл. Пытаться file_put_contents
, пример:
//If $cover is not a stream or string of data, you may need to make it one.
//For example, using fopen or another method depending on what $cover is
$filename = "somefilename.jpg";
file_put_contents($filename, $cover);
Больше информации о file_put_contents
Вот. Это также зависит от того, что вы подразумеваете под «экспорт». Вы хотите отправить файл пользователю или просто сохранить файл на своем компьютере / сервере?
Других решений пока нет …