2011-06-03 4 views
0

J'ai le code suivanttélécharger force PHP lien Amazon S3

 header("Content-Description: File Transfer"); 
     header('Content-Type: audio/mp3'); 
     header("Content-Disposition: attachment; filename=" . $arrResults['audioLink'] . ".mp3"); 
     header('Expires: 0'); 
     header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); 
     header('Pragma: public'); 
     header("Content-Transfer-Encoding: binary"); 

     $strLink = 'http://ag-org.s3.amazonaws.com/members/tele_classes/' . $arrResults['audioLink']; 

     ob_clean(); 
     flush(); 
     readfile($strLink); 

Toutefois, lorsque le lien de téléchargement est cliqué qui exécute ce code, il renvoie toujours un fichier de 0 octet. Tous les fichiers sont définis sur public dans le compartiment.

Qu'est-ce que je fais mal ici?

+1

Avez-vous des wrappers fopen activés? –

Répondre

0

Est-ce que l'extension .mp3 ne fait vraiment pas partie du nom de fichier car elle est stockée sur S3?

Vous ajoutez .mp3 au nom de fichier dans l'en-tête Content-Disposition, mais pas l'URL que vous transmettez à readfile.

+0

D'oh, je déteste quand je fais ça –