Question

I have the following code to get the album cover of an mp3 using getid3, the problem is though, how do I copy this image and put it into a specified directory?

<?php
require_once('getid3/getid3.php');
$file = "path/to/mp3/file.mp3"; 


$getID3 = new getID3; 
$getID3->option_tag_id3v2 = true;
$getID3->option_tags_images = true;
$getID3->analyze($file); 
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 = "no_cover"; 
} 
if (isset($getID3->info['id3v2']['APIC'][0]['image_mime'])) { 
   $mimetype = $getID3->info['id3v2']['APIC'][0]['image_mime']; 
} else { 
   $mimetype = 'image/jpeg';
} 

if (!is_null($cover)) { 
// Send file 
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);
?>

Is this possible, if yes how? Thanks for any help :)

Was it helpful?

Solution

have you tried:

file_put_contents('<filename>', $getID3->info['id3v2']['APIC'][0]['image_bytes']);
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top