FORCER LE TELECHARGEMENT D'UNE VIDEO DISTANTE [Résolu]

cs_zzzzzz 408 Messages postés lundi 16 décembre 2002Date d'inscription 18 décembre 2012 Dernière intervention - 29 oct. 2004 à 02:26 - Dernière réponse : cs_zzzzzz 408 Messages postés lundi 16 décembre 2002Date d'inscription 18 décembre 2012 Dernière intervention
- 30 oct. 2004 à 15:43
Salut :)

Je relance mon post qui date de longtemps pour la simple raison que je n'ai toujours pas trouvé :) Mon post était :

Salut donc j'aimerai forcer le telechargement d'une video distante. C'est a dire que la fenetre Open Save as ect... s'ouvre, et non pas que la video se joue directement dans le player.

Donc poru ce faire j'ai fait :

$langfile = $_GET['url'];
$langfile = str_replace(' ','%20',$langfile);
header("Content-Type: octet-stream");
header("Content-Length: ".remote_filesize($langfile) );
header("Content-Disposition: attachment; filename=$langfile");
include($langfile);

donc quand je vais sur l'url (pour simplifier) :

www.monsite.com/video.php?&url=http://unautresite/video.avi

he bien la fenetre Open Saves as... et tout s'ouvre comme je l'aurai souhaiter.

File name : video.avi (normal)
File type : vide (normal que rien n'est marké ?)
From : www.monsite.com <-----------

La est le prob du From, car le code croit que la video vient de mon site! alors qu'elle provient d'un site distant! Ce qui fait que si je click sur open ou save as explorer m'affiche l'erreur:

"Internet explorer cannot download video.avi from www.monsite.com. Internet explorer was not abble to open the internet site. The requested site was not available or cannot be found".

L'erreur est normal vu que explorer croit que la video se situe sur mon site.

J'espere avoir été assez clair...

Merci d'avance!

Remarque depuis ce post defkrie ma proposer ceci :

$fichier = 'http://lautresite.com/video.avi';
$nom_fichier = 'video.avi';

// téléchargement du fichier
header('Content-disposition: attachment; filename='.$nom_fichier);
header('Content-Type: application/force-download');
header('Content-Transfer-Encoding: fichier');
header('Content-Length: '.filesize($fichier));
header('Pragma: no-cache');
header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
header('Expires: 0');
readfile($fichier);

j'ai essayer mais quand j'ouvre la page il me lance le fichier a partir du quel ce code a été exécuté, dans mon cas test.php :\ et toujours From www.diablus.com

MErci d'avance, lol...

----------------------------------------------------

Site en developpement : www.diablus.com
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
coockiesch 2268 Messages postés mercredi 27 novembre 2002Date d'inscription 13 septembre 2013 Dernière intervention - 30 oct. 2004 à 08:55
3
Merci
Salut!
J'ai fais un code qui a fonctionné pour un fichier distant. Par contre, g mis le filesize en dur dans le code car pas moyen pour moi de l'obtenir pour un fichier distant... Je te laisserai voir et me dire

<?php
if(isset($_GET['url']))
$url = $_GET['url'];
else
exit;

$pos = strrpos($url, '/');
$fichier = substr($url, ( $pos + 1 ));

header("Content-disposition: attachment; filename=$fichier");
header("Content-Type: application/force-download");
header("Content-Transfer-Encoding: application/octet-stream\n"); // Surtout ne pas enlever le \n
header("Content-Length: 3201028");
header("Pragma: no-cache");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public");
header("Expires: 0");
readfile($url);
?>


@++

R@f

Merci coockiesch 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 69 internautes ce mois-ci

Commenter la réponse de coockiesch
cs_zzzzzz 408 Messages postés lundi 16 décembre 2002Date d'inscription 18 décembre 2012 Dernière intervention - 30 oct. 2004 à 15:43
0
Merci
Merci je vais analyser cela et je te répond plus tard :)

Encore merci :)
(meme si ca va pas marcher lol)
----------------------------------------------------

Site en developpement : www.diablus.com
Commenter la réponse de cs_zzzzzz

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.