Problème script PHP de téléchargement de fichier

Bonjour à tous,

J'ai créée pour mon site un script php qui permet de télécharger des fichiers qui lui sont passés en paramètres. (Exemple : telechargement.php?nomfichier=fichier.mp3)
Il s'agit ici de téléchargement de fichiers mp3.

Le script fonctionne très bien en local avec XAMPP (lorsque l'on clique sur le bouton télécharger, la boite de dialogue proposant de télécharger le fichier s'affiche bien, mais sur la version online du site, le script se contente d'afficher le fichier en mode binaire dans le navigateur (plein de lettres bizarres) et non de lancer son téléchargement.

Version de PHP OVH paramétrée : 8.1
Type d'hébergement : Web perso mutualisé (Kimsurfi 2015)

Voici le script en question avec la partie avec les headers envoyé au serveur :

header('Content-Description: File Transfer');
header('Content-Type: application/force-download');
header("Content-Disposition: attachment; filename="$nom_remix"");
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
ob_clean();
ob_flush();
readfile($url_remix);

D'où pourrait provenir ce problème à votre avis ?

Merci !


Content-Type: application/force-download


Essayez plutôt:

header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');

Source: https://stackoverflow.com/questions/10615797/utility-of-http-header-content-type-application-force-download-for-mobile

Bonjour,

Désolé du retard de ma réponse.

Merci pour le tuyau :wink:

J'ai testé, dejà ça ne s'affiche plus mode binaire dans le navigateur mais la boite de téléchargement ne s'affiche toujours pas.
Je vais regarder votre lien stackoverflow