Se connecter avec
S'enregistrer | Connectez-vous

Un lien pour forcer un téléchargement de mp3

Dernière réponse : dans Programmation

Bonjour, je suis nul en programmation...

J'ai un site avec de la music mp3.
Est-il possible de créer un lien pour un téléchargement direct c'est çà dire proposer un téléchargement au lieu de l'ouverture du fichier?
J'ai essayé le comprendre les infos précédentes sans succés!
De l'aide svp?

ex: mon morceau se trouve ici : http://www.monsite.com/monmorceau.mp3

Comment parametrer le lien permettant de le télécharger sans l'ouvrir?(au risque de me repeter)

avec un ex si possible, je ne comprends vraiment rien!

Merci d'avance.

Autres pages sur : lien forcer telechargement mp3

Lassé par la pub ? Créez un compte

C'est pas possible! Désolé de te dire ça mais ça proposera forcément à l'utilisateur de l'ouvrir ou l'enregistrer. En fait ça dépend de la configuration du navigateur !!
Autre solution, tu mets ton mp3 dans un zip et donc ça te demendra forcément de le télécharger (car les navigateurs ne gèrent pas le zip)

Salut moox_t et merci pour ta réponse

Je n'arrive même pas à proposer la solution de : l'ouvrir ou l'enregister.
Celle-ci me conviendrait!
J'ai lu sur le forum des solutions php ou asp, sans résultat pour moi. Impossible de parametrer avec mes fichier.

Merci.

a ok mais dis toi que ça, c'est un réaction propre à ton pc. Car tu a du le configurer ainsi (peut être sans le faire exprès, surement même!).
Je te conseille simplement de zipper ton fichier, comme ça tu reglera le problème et tu gagnera un poil de place !

Ou alors tu explique qu'il faut faire clique droit sur le lien si ca ne propose pas le telechargement, puis "Enregistrer sous..."

Au choix
Expert Programmation

MoOx_t a dit :
C'est pas possible! Désolé de te dire ça mais ça proposera forcément à l'utilisateur de l'ouvrir ou l'enregistrer. En fait ça dépend de la configuration du navigateur !!
Autre solution, tu mets ton mp3 dans un zip et donc ça te demendra forcément de le télécharger (car les navigateurs ne gèrent pas le zip)


Heu si c'est possible... Il suffit de ne pas pointer directement sur le .mp3 mais sur un script php qui va faire l'envoit (par exemple: envoi.php?file=mamusique.mp3)
Et pour forcer l'envoi, du moins pour proposer à l'internaute le téléchargement, http://www.crazycat.info/astuce10-php-Forcer_le_telecha...

  1. <?
  2. $fichier = $_GET['file']; // si tu appelle ce script depuis <a href="http://www.monsite.com/telecharger.php" target="_blank">http://www.monsite.com/telecharger.php</a> (cad que ce script se situe dans cette page)
  3.  
  4. // Nous extrayons les informations grâce à $fichier
  5. $fichier_nom = basename($fichier);
  6. $fichier_taille = filesize($fichier);
  7. $fichier_mime = mime_content_type($fichier);
  8.  
  9. // téléchargement du fichier
  10. header("Content-disposition: attachment; filename=$fichier_nom");
  11. header("Content-Type: $fichier_mime");
  12. header("Content-Transfer-Encoding: binary");
  13. header("Content-Length: $fichier_taille");
  14. header("Pragma: no-cache");
  15. header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
  16. header("Expires: 0");
  17. readfile($fichier);
  18. ?>

Tout simplement tu met ce script dans un page que tu nomme telecharger.php et quand tu file le lien pour download ton image tu met : http://www.monsite.com/telecharger.php?file=monmorceau....

Je remercie pour toutes ces infos.
J'ai créé le fichier telecharger.php
En mettant le lien, voilà ce que je rencontre.

Fatal error: Call to undefined function mime_content_type() in /home/0/1/fukito.13.fr/www/telecharger.php on line 7

Pour info le morceau se trouve ici

http://z.fukito.13.fr/FcommeFukito.mp3
C'est un mix pour les amateurs de musiques éléctroniques.

Merci encore, vous ètes trop cool!!!

Arrrfff pour toi. Apparement, cette fonction ne marcherai pas sur free. Voici une bidouille qui permettrai de faire marcher ceci avec des mp3 uniquement... Voici le nouveau script :
  1. <?
  2. $fichier = $_GET['file'];
  3.  
  4. $fichier_nom = basename($fichier);
  5. $fichier_taille = filesize($fichier);
  6. // $fichier_mime = mime_content_type($fichier);
  7. /** La bidouille est la , on simule la récupération du type MIME **/
  8. $fichier_mime = "audio/mpeg";
  9.  
  10. // téléchargement du fichier
  11. header("Content-disposition: attachment; filename=$fichier_nom");
  12. header("Content-Type: $fichier_mime");
  13. header("Content-Transfer-Encoding: binary");
  14. header("Content-Length: $fichier_taille");
  15. header("Pragma: no-cache");
  16. header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
  17. header("Expires: 0");
  18. readfile($fichier);
  19. ?>


Avec ça, ça devrai marcher (mais bon c'est de la bidouille je rappelle).
J'ai trouver les types MIME là : http://www.w3schools.com/media/media_mimeref.asp

Pour ton lien de téléchargement, mets donc un truc genre
<a href="telecharger.php?file=FcommeFukito.mp3"> Télécharger ma super zik!</a>

En attendant j'avais éssayé ce script

<?
$file=$_GET['file'];

//telechargement
$taille=filesize("$file");
header("Content-Type: application/force-download; name=\"$file\"");
header("Content-Transfer-Encoding: binary");
header("Content-Length: $taille");
header("Content-Disposition: attachment; filename=\"$file\"");
header("Expires: 0");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
readfile("$file");
exit();
?>

et il fonctionne comme
Expert Programmation

MoOx_t a dit :
Arrrfff pour toi. Apparement, cette fonction ne marcherai pas sur free. Voici une bidouille qui permettrai de faire marcher ceci avec des mp3 uniquement...

Heu, sur la page précédemment donnée par myself, il y a:
Citation :
En ce qui concerne mime_content_type, vous pouvez vous rapporter à l'astuce Retrouver le type mime

Et ça renvoit sur la page http://www.crazycat.info/astuce2-php-Retrouver_le_type_...

Bien entendu, mon exemple ne gère pas les mp3, mais la liste complète des types Mime est donnée à http://www.crazycat.info/astuce15-divers-Liste_des_type...
Lassé par la pub ? Créez un compte
Tom's guide dans le monde