Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1976 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Download, rien a faire ca part pas

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Download, rien a faire ca part pas

n°845838
Profil sup​primé
Posté le 09-09-2004 à 12:28:39  answer
 

je suis sur la page movie.php qui se trouve dans /page a la racine et je veut download un fichier qui se trouve dans /movie de la racine
 
j'ai fait
 

Code :
  1. if (isset($_GET["download"])) {
  2.   header("Content-type: video/quicktime" );
  3.   $movie = $film->movie_file;
  4.   $path="../movie/".$movie;
  5.   Header("Content-Length: ".filesize($path));
  6.   header("Content-Disposition: attachment; filename=".$movie);
  7. }

sa savoir que $movie et $path me retourne les bonnes valeurs.
 
le filesize egalement.
Le probleme est que ca ne download pas le fichier, mais la source de la page [:opus dei]  
 
ptit coup de main

mood
Publicité
Posté le 09-09-2004 à 12:28:39  profilanswer
 

n°845842
Mr Mala
Posté le 09-09-2004 à 12:34:05  profilanswer
 

heuu question idiote mais ... en php, 'Header()' et 'header()' , c'est pareil ? .. il n'est pas case-sensitive ?

n°845845
Profil sup​primé
Posté le 09-09-2004 à 12:36:46  answer
 

ca ne change rien :)

n°845849
Mr Mala
Posté le 09-09-2004 à 12:42:47  profilanswer
 

heuu la seule et unique fois où j'ai dû faire un truc comme ça, je tapais bêtement le mime-type en header puis j'ouvrais le fichier et le crachais en sortie ( j'avais fait ça pour des sonnerie imode pour mon nec à l'époque ) ... je ne jouais pas avec le content-length ou -disposition ...

n°845853
Profil sup​primé
Posté le 09-09-2004 à 12:46:08  answer
 

ben partout ou je voit des source je vois ce que j'ai tapé, des fois sans le filesize, que j'ai d'ailleur retiré

n°845854
Mr Mala
Posté le 09-09-2004 à 12:49:06  profilanswer
 

mmmh vois avec ça http://www.zend.com/manual/function.fpassthru.php ..
On sait jamais ..

n°845855
Profil sup​primé
Posté le 09-09-2004 à 12:49:21  answer
 

http://if-faw.com/forum/sam_dl.jpg
 
toutes les infos sont pourtant bien presentes :/

n°845857
Mr Mala
Posté le 09-09-2004 à 12:50:15  profilanswer
 

ha ok et donc, il te crée le fichier 'machin.mov' .. mais dedans, il y a le code de ton php ????

n°845858
Profil sup​primé
Posté le 09-09-2004 à 12:50:46  answer
 

pas le code php, le resultat html :/
 

Citation :

<html><head>
<title>thornberg.org :: my movie</title>
<link rel="stylesheet" href="../template/thornberg.css" />
</head><body >
<div style="position:absolute; width:320px; height:280px; margin-left:19px; margin-top:57px; float:left;"><embed bgcolor="#bbbbbb" src="../movie/Samurai trailer_website.mov" border="0" scale="aspect" width="100%" height="100%" autostart="false" controller="true" loop="false" cache="true"></div><div style="width:320px; height:100px; position:absolute; margin-top:350px; margin-left:10px;">
Movie name : Samurai<br /><a href="/thornberg.org/pages/movie.php?download&id=8" target="_blank" >download</a>
</div>
<img src="../images/movie_window.jpg"  alt=""/></body></html>


Message édité par Profil supprimé le 09-09-2004 à 12:51:27
n°845863
Sebastien
Posté le 09-09-2004 à 12:55:38  profilanswer
 

Citation :


#       $movie = $film->movie_file;
#       $path="../movie/".$movie;
#       Header("Content-Length: ".filesize($path));
#       header("Content-Disposition: attachment; filename=".$movie);  


ca serait pas plutot

Code :
  1. header("Content-Disposition: attachment; filename=".$path);


mood
Publicité
Posté le 09-09-2004 à 12:55:38  profilanswer
 

n°845864
Profil sup​primé
Posté le 09-09-2004 à 12:57:16  answer
 

ca ne fonctionne pas avec $path :jap:
 
et quand je l'ai sur mon dur en mettant $movie, il me met le bon nom du fichier :)
 
 
mais pas le bon contenu :'(

n°845874
alien_nan
Posté le 09-09-2004 à 13:02:04  profilanswer
 

chacal_one333 a écrit :

ca ne fonctionne pas avec $path :jap:
 
et quand je l'ai sur mon dur en mettant $movie, il me met le bon nom du fichier :)
 
 
mais pas le bon contenu :'(


 
au lieu de mettre ../movie tu as essayé le chemin complet ? (http//.../movie...)

n°845877
Profil sup​primé
Posté le 09-09-2004 à 13:04:30  answer
 

oui et ca marche pas, ca ne trouve meme plus le nom du fichier n'y rien.
 

n°845879
alien_nan
Posté le 09-09-2004 à 13:07:10  profilanswer
 

chacal_one333 a écrit :

oui et ca marche pas, ca ne trouve meme plus le nom du fichier n'y rien.


 

Code :
  1. <?php
  2. // on essaie de reconnaitre l'extension pour que le téléchargement corresponde au type de fichier afin d'éviter les erreurs de corruptions  
  3. switch(strrchr(basename($Fichier_a_telecharger), "." )) {
  4. case ".gz": $type = "application/x-gzip"; break;
  5. case ".tgz": $type = "application/x-gzip"; break;
  6. case ".zip": $type = "application/zip"; break;
  7. case ".pdf": $type = "application/pdf"; break;
  8. case ".png": $type = "image/png"; break;
  9. case ".gif": $type = "image/gif"; break;
  10. case ".jpg": $type = "image/jpeg"; break;
  11. case ".txt": $type = "text/plain"; break;
  12. case ".htm": $type = "text/html"; break;
  13. case ".html": $type = "text/html"; break;
  14. default: $type = "application/octet-stream"; break;
  15. }
  16. header("Content-disposition: attachment; filename=$Fichier_a_telecharger" );
  17. header("Content-Type: application/force-download" );
  18. header("Content-Transfer-Encoding: $type\n" ); // Surtout ne pas enlever le \n
  19. header("Content-Length: ".filesize($chemin . $Fichier_a_telecharger));
  20. header("Pragma: no-cache" );
  21. header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public" );
  22. header("Expires: 0" );
  23. readfile($chemin . $Fichier_a_telecharger);
  24. ?>

n°845954
Profil sup​primé
Posté le 09-09-2004 à 14:32:30  answer
 

ok super ca marche SAUF si le nom du ficheier comporte un espace, dans ce cas la firefox essaye de me download "samurai" et pas "samurai movie.mov"
 
IE le fait tout seul pourtant
 
j'ai essayer de mettre le str_replace(" ", "%20", $movie) mais ca refait la meme erreur qu'avant :cry:
 
Une idée comment faire?


Message édité par Profil supprimé le 09-09-2004 à 14:35:14
n°845955
Sebastien
Posté le 09-09-2004 à 14:33:19  profilanswer
 

filename='$movie'

n°845958
jagstang
Pa Capona ಠ_ಠ
Posté le 09-09-2004 à 14:35:50  profilanswer
 
n°845960
Profil sup​primé
Posté le 09-09-2004 à 14:36:39  answer
 

marche pas, j'ai essayer avant et ca cherche à m'enregistrer 'samurai :/

n°845966
Profil sup​primé
Posté le 09-09-2004 à 14:39:02  answer
 

le dl ne demarre pas, une fois de plus :/

n°845967
jagstang
Pa Capona ಠ_ಠ
Posté le 09-09-2004 à 14:39:07  profilanswer
 

j'ai déjà au ce pb. mais je me souviens plus comment j'avais fait. mais y'a un truc c'est sur

n°845974
Profil sup​primé
Posté le 09-09-2004 à 14:42:53  answer
 

a la limite il me le save en samurai.mov sous FF et samurai trailer.mov pour IE
 
dans les deux cas il s'ouvre bien avec quicktime et tout fonctionne avec ce code
 

Code :
  1. $movie = $film->movie_file;
  2.   $path="../movie/".$movie;
  3.   header("Content-disposition: attachment; filename=$movie" ); 
  4.   header("Content-Type: video/quicktime" );
  5.   header("Content-Length: ".filesize($path)); 
  6.   header("Pragma: no-cache" ); 
  7.   header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public" ); 
  8.   header("Expires: 0" ); 
  9.   readfile($path);


 
bref tout marche, mais j'aimerai quand meme avoir le nom de fichier intact sous FF :)

n°845978
Profil sup​primé
Posté le 09-09-2004 à 14:43:37  answer
 

a savoir que pour $movie et j'ai essayer avec rawurlencode et ' '

n°845985
Sebastien
Posté le 09-09-2004 à 14:46:57  profilanswer
 

toute facon on ne met jamais d'espace ni de majuscule ni de symboles bizarres quand on fait des sites webs !

n°845987
Profil sup​primé
Posté le 09-09-2004 à 14:47:40  answer
 

c'est une site de gens dla pub [:spamafote]
 
et il mettent des espaces, parfois non

n°846003
ratibus
Posté le 09-09-2004 à 14:59:24  profilanswer
 

Ton premier code c'est normal qu'il ne marche pas car tu envoyais que les headers HTTP et jamais le contenu (ce que tu fais maintenant à l'aide de la fonction readfile() ).
 
Sinon pour le pb du nom de fichier, tu pourrais pas remplacer les espaces pas des underscores ?

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Download, rien a faire ca part pas

 

Sujets relatifs
Streaming audio et les prog de download[Beaucoup de blabla pour rien : post à effacer] Compiler .bat
OnClick qui ne fait rien sous IE pour bouton généré par JSPERL - je n'y connais rien si qqun peut m'aider
Le bouton submit ne fait rien ...[RESOLU]Je comprends rien à mon GLOBALS...ça ne marche plus !
ecrire dans un fichier sans l'ecraser autre part ka la fin de celui ciJ'dois faire un truc en perl mais j'y connais rien!!!
[Divers] Non rien en fait j irai demander ailleursProblème d'affichage ( Rien ne s'affiche )
Plus de sujets relatifs à : Download, rien a faire ca part pas


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR