Note that there are some explanatory texts on larger screens.

plurals
  1. PORead remote mp3 file information using php
    primarykey
    data
    text
    <p>I am working on a site which will fetch mp3 details from a remote url. I need to write a cron job so that it gets all the song information such as the file name, path, artist, genre, bitrate, playing time, etc and put it in a database table.</p> <p>I tried getid3 package, but this is very slow when fetching more than one url at a time and I get maximum execution error.</p> <p>Example:</p> <pre><code>require_once('getid/getid3/getid3.php'); $urls = array ('http://stackoverflow.com/test1.mp3','http://stackoverflow.com/test2.mp3''http://stackoverflow.com/test3.mp3'); foreach($urls as $ur){ $mp3_det = getMp3Info( $ur ); print_r ($mp3_det); } function getMp3Info ( $url ){ if($url){ /**********/ $filename = tempnam('/tmp','getid3'); if (file_put_contents($filename, file_get_contents($url, false, null, 0, 35000))) { if (require_once('getid/getid3/getid3.php')) { $getID3 = new getID3; $ThisFileInfo = $getID3-&gt;analyze($filename); unlink($filename); $bitratez = $ThisFileInfo[audio][bitrate] ? $ThisFileInfo[audio][bitrate] : ''; $headers = get_headers($url, 1); if ((!array_key_exists("Content-Length", $headers))) { return false; } // print $headers["Content-Length"]; $filesize= round($headers["Content-Length"]/1000); $contentLengthKBITS=$filesize*8; if ( $bitratez ){ $bitrate= round ( $bitratez/1000 ); $seconds=$contentLengthKBITS/$bitrate; $playtime_mins = floor($seconds/60); $playtime_secs = $seconds % 60; if(strlen($playtime_secs)=='1'){$zero='0';} $playtime_secs = $zero.$playtime_secs; $playtime_string=$playtime_mins.':'.$playtime_secs; } else $playtime_string='0:00'; // echo '&lt;pre&gt;'.print_r($ThisFileInfo, true).'&lt;/pre&gt;'; } $bitrate = $bitrate ? $bitrate : 0; $ret = array(); $ret['playtime'] = $playtime_string; $ret['filesize'] = $filesize; $ret['bitrate'] = $bitrate; return $ret; } } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload