
le 28/02/2005 à 18:22
jacques
Bonjour,
Ayant eu besoin d'un script pour forcer le téléchargement, je me suis naturellement retourné sur les astuces de ce site qui propose l'outil ad-hoc qui fonctionne pour quasiment tous les types de fichiers sauf bizarrement pour les vidéos .wmv qui arrivaient toutes "corrompues", c'est à dire illisibles (certainement problème de réencodage).
Après de multiples recherches et essais, une autre méthode trouvée ici --> http://www.ibilab.net/webdev/articles/PHP/forcer-telechargement-fichiers-6.htm et qui donne le code suivant:
Ce bout de code me permet d'utiliser un compte "libre" sur lequel sont emmagasinées quelques vidéos et de les proposer au téléchargement (pourvu que ça dure :)
Peut-être servira-t-il à quelques uns, et puis je "pille" tellement sur le Phpfacile qu'un petit retour ...ajouté à un merci chaleureux.
A bientôt,
Ayant eu besoin d'un script pour forcer le téléchargement, je me suis naturellement retourné sur les astuces de ce site qui propose l'outil ad-hoc qui fonctionne pour quasiment tous les types de fichiers sauf bizarrement pour les vidéos .wmv qui arrivaient toutes "corrompues", c'est à dire illisibles (certainement problème de réencodage).
Après de multiples recherches et essais, une autre méthode trouvée ici --> http://www.ibilab.net/webdev/articles/PHP/forcer-telechargement-fichiers-6.htm et qui donne le code suivant:
- $fich = $row['nom'];//le nom du fichier avec extension
- $chemin=$row['lien'];//le chemin distant : http://site/repertoire/
- $fichier=$chemin.$fich;
- }
- $file = fopen($fichier, "r");
- if ($file) {
- @ob_end_flush();
- @ini_set('zlib.output_compression', 'Off');
- header('Pragma: public');
- header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
- header('Cache-Control: must-revalidate, pre-check=0, post-check=0, max-age=0');
- header('Content-Transfer-Encoding: none');
- header('Content-Type: application/octetstream; name="'.$fich.'"');
- header('Content-Disposition: attachment; filename="'.$fich.'"');
- readfile($fichier);
- }
- else {
- header("Location: ....php");
- }
- fclose($file);
Ce bout de code me permet d'utiliser un compte "libre" sur lequel sont emmagasinées quelques vidéos et de les proposer au téléchargement (pourvu que ça dure :)
Peut-être servira-t-il à quelques uns, et puis je "pille" tellement sur le Phpfacile qu'un petit retour ...ajouté à un merci chaleureux.
A bientôt,