Forcer le téléchargement d'un fichier vidéo sans affichage WMP

Forcer le téléchargement d'un fichier vidéo sans affichage WMP - HTML/CSS - Programmation

Marsh Posté le 07-11-2007 à 12:01:37    

Bonjour,
 
J'ai de grosses vidéos (200 à 400 Mo) sur mon serveur.
Le pb est que quand je met le lien http://www.monsite.fr/video.avi
IE lance WMP automatiquement et comme les fichiers sont gros la enetre reste donc noire pendant 30 min.
 
Sinon effectivement y'a le moyen clic doit, enregistrer la cible sous...
 
Mais comme je fais ca pour des personnes pour qui l'informatique est tellement compliqué, je voulais donc simplifier la tache et juste quand cliquant sur le lien de la vidéo ca demande à la personne d'enregistrer le fichier sur le disque dur. Le même fonctionnement que pour les fichiers zip.
 
Quelqu'un sait-il comment se débarasser du lancement automatique de l'application si l'extension est plugin-able :) ?
 
Cédric

Reply

Marsh Posté le 07-11-2007 à 12:01:37   

Reply

Marsh Posté le 07-11-2007 à 13:58:33    

C'est une config du navigateur, donc non, tu ne peux pas agir sur le comportement du navigateur.
 
PS : si effectivement tu veux simplifier le fontionnement pour tes utilisateurs, diffuse tes videos en streaming.
 

Reply

Marsh Posté le 07-11-2007 à 14:11:59    

Bon je m'en doutais un peu d'ailleurs.
Par contre pour le streaming, cela dépend du serveur d'hébergement. Et mon hébergeur m'a dit que ce n'était pas possible sur leur serveur.
Et dans ton lit "Streaming",  wikipedia dit que c'est indépendant du serveur web, ce qui me choque un peu entre nous.

Reply

Marsh Posté le 07-11-2007 à 14:24:30    

Bidem a écrit :

C'est une config du navigateur, donc non, tu ne peux pas agir sur le comportement du navigateur.


Faux, on peut!
Suffit de renvoyer les entêtes qui vont bien!
Les exemples ne manquent pas : http://www.google.fr/search?source [...] ogle&meta=
 
En gros ça peut se faire soit en modifiant définitivement les entêtes renvoyées par le serveur en changeant la config de celui-ci, soit en envoyant les bonnes entête via un langage côté serveur tel que php.


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 07-11-2007 à 15:29:15    

ok super, bon je vais regarder à çà ce soir. Il suffit de savoir taper les bons mots clés sous google et hop une lueur d'espoir apparait.
Ca tombien puisqu'en fait mon site est en php. Je ne connaissais pas les header mais je crois comprendre que c'est puissant cette commande. Je vais encore aller coucher tard ce soir, trop bon ... :-D

Reply

Marsh Posté le 08-11-2007 à 00:28:56    

j'ai essayer ce soir les codes dispos sur ces sites. Ca marche pour 1 vidéo. Or si j'essaie d'adapter ce code pour plusieurs vidéos ca ne marche pas. J'ai dû mal à transmettre la chaine de caractere de video1, video2 ... vers le script telecharger.php.
J'ai dû mal ce soir après ma journée de boulot à avoir les idées claires.
Voici le code de index.php :

Code :
  1. <?
  2. $fichier = "a.mpg";
  3. $chemin = "./films/".$fichier;
  4. ?>
  5. <a href="/telecharger.php?chemin=<?=$chemin?>&fichier=<?=$fichier?>">Telecharger</a>


 
Code du fichier telecharger.php

Code :
  1. echo "$chemin";
  2. echo "$fichier";
  3. $tailleFichier = filesize($chemin);
  4. header('Content-Transfer-Encoding: none');
  5. header('Content-Type: application/octetstream; name="'.$fichier.'"');
  6. header('Content-Disposition: attachment; filename="'.$fichier.'"');
  7. header('Content-length: '.$tailleFichier);
  8. @readfile($chemin) OR die();


 
Voilà le genre d'erreurs qu'il me sort :
Notice: Undefined variable: chemin in c:\sites\telecharger.php on line 31
Warning: Cannot modify header information - headers already sent by (output started at c:\sitess\telecharger.php:31) in c:\sites\telecharger.php on line 34
 
Bref je laisse tomber pour ce soir, je retenterai demain avec vos idées.


Message édité par ced_voyage le 08-11-2007 à 00:30:24
Reply

Marsh Posté le 08-11-2007 à 02:02:56    

# echo "$chemin";
# echo "$fichier";
 
A supprimer. Et *censuré*, c'est quoi cette *censuré* de mode qui consiste a mettre des guillemets autour d'une variable unique !
 
Autre truc, si tu as fait cette erreur, c'est que tu n'as pas compris les mécanismes du code. C'est dommage.


---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
Reply

Marsh Posté le 08-11-2007 à 09:52:02    

Le echo servait a voir ce qu'il y avait dans la variable. Oui je sais c'est nul, mais à la fin je commence à programmer n'importe quoi. des fois que je trouve d'où vienne le pb ou qu'il se réslve tout seul :).

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed