1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
$songFile = $_GET['song']; // le nom du fichier
$sizeFile = $_GET['size']; // la taille du fichier
$infoFile = pathinfo($songFile); // information complete sur le fichier
$extFile = $infoFile['extension']; // extention du fichier
// Maintenant avec tous ca on a de quoi bosser
// On choisi l'entete de notre document par raport à l'extension de notre fichier
switch ( $extFile ) {
case 'mp3':
$ct = 'audio/mpeg';
break;
case 'ogg':
$ct = 'audio/x-ogg';
break;
}
// on passe maintnenant les en-tete a notre document
header("Content-Type: $ct");
header("Content-Disposition: filename=song.$extFile");
// on bloque le time out php
set_time_limit(0);
// ouverture du fichier en lecture
$fp = @fopen($songFile, 'r');
if ( !$fp ) exit;
header("Accept-Ranges: bytes" );
header("Content-Length: ".$sizeFile);
// boucle de mise en memoire tampon et de sorti
while ( !feof($fp) && (connection_status() == 0) ) {
$buffer = fread($fp, 8192);
print($buffer);
}
@fclose($fp); |
Partager