iron ian
Messages postés13Date d'inscriptionlundi 7 mai 2007StatutMembreDernière intervention16 janvier 2008
-
11 janv. 2008 à 13:56
iron ian
Messages postés13Date d'inscriptionlundi 7 mai 2007StatutMembreDernière intervention16 janvier 2008
-
16 janv. 2008 à 18:30
Salut à tous!
J'ai fait un site pour l'école où je dois charger des fichiers que les utilisateurs peuvent télécharger. J'ai fait une page download.php qui force le téléchargement. J'arrive à télécharger les fichiers mais pas à les ouvrir.
Est-ce que quelqu'un pourrait m'aider?
Merci d'avance!
ma page upload qui se lance apres le formulaire :
$tmp_name=$_FILES['fichier']['tmp_name'];
$titre = $_FILES['fichier']['name'];
$taille = $_FILES['fichier']['size'];
$type = STRSTR($_FILES['fichier']['name'],".");
ma page document :
[dl.php?dl=<?php echo 'fichiers/'.$doc['doc_fichier']; ?> Télécharger]</td>
//$doc['doc_fichier'], c'est le nom du fichier avec extension
ma page download :
if(isset($_GET['dl'])){
$fichier=$_GET['dl'];
switch(strrchr(basename($fichier), ".")) {
case ".gz": $type = "application/x-gzip"; break;
case ".tgz": $type = "application/x-gzip"; break;
case ".zip": $type = "application/zip"; break;
case ".pdf": $type = "application/pdf"; break;
case ".png": $type = "image/png"; break;
case ".gif": $type = "image/gif"; break;
case ".jpg": $type = "image/jpeg"; break;
case ".txt": $type = "text/plain"; break;
case ".htm": $type = "text/html"; break;
case ".html": $type = "text/html"; break;
default: $type = "application/octet-stream"; break;
}
$fic=substr($fichier,9); //retire le début du chemin pour prendre le nom
header("Content-Transfer-Encoding: $type\n");
header('Content-Disposition: attachment; filename="'.$fic.'"');
header('Content-Length: '.filesize($fichier));
readfile($fichier);
}
iron ian
Messages postés13Date d'inscriptionlundi 7 mai 2007StatutMembreDernière intervention16 janvier 2008 11 janv. 2008 à 16:01
J'ai essayé de modifier les répertoires et tout mais j'y arrve pas.
En fait, quand j'ouvre les fichiers, j'ai un message qui me dit que le fichier est endommagé.
malik7934
Messages postés1154Date d'inscriptionmardi 9 septembre 2003StatutMembreDernière intervention15 août 200917 11 janv. 2008 à 16:14
endommagé? Alors soit c'est une erreur de type, soit il est VRAIMENT endommagé au moment où tu l'uploades.... essaie peut-être de remplacer "Content-Transfert-Encoding" par "Content-type"
iron ian
Messages postés13Date d'inscriptionlundi 7 mai 2007StatutMembreDernière intervention16 janvier 2008 11 janv. 2008 à 17:06
Ca fait la même chose.
Je pense que ce n'est pas un probleme avec l'upload parce-que j'arrive à ouvrir les fichiers qui sont dans le dossier de fichiers uploadés.
En plus, quand je retire le move_upload et que je déplace le fichier manuellement ça ne passe pas non plus.
Vous n’avez pas trouvé la réponse que vous recherchez ?
sws2007
Messages postés79Date d'inscriptionvendredi 27 juillet 2007StatutMembreDernière intervention19 janvier 2009 11 janv. 2008 à 18:30
iron tu peux faire la page de telechargement juste avec du html et ça marche tu cré un repertoire qui va contenir les documents sous forme de fichier zip puis tu fais un lien simple vers le fichier et quant tu execute la pge avec "easyphp" ça affiche une fenetre qui contient ouivrir telecharger ou annuler et surtout n'oublie pas d'executer la page avec le serveur locale come wamp ou easyphp
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 11 janv. 2008 à 18:48
Hello,
nan, t'as confondu
Content-Transfer-Encoding et Content-Type.
Content-Transfer-Encoding devrait être binary.
Et dans Content-Type du dois mettre le mime-type que tu testes dans ton switch.
iron ian
Messages postés13Date d'inscriptionlundi 7 mai 2007StatutMembreDernière intervention16 janvier 2008 11 janv. 2008 à 22:59
sws, en fait, c'est que mon prof m'a imposé cette methode.
Concernant les Content-Transfer-Encoding et Content-Type j'ai remodifié mais ça me fait toujours la même chose.
Maintenant, mon code donne ça:
mwm11
Messages postés9Date d'inscriptionvendredi 28 décembre 2007StatutMembreDernière intervention12 janvier 2008 12 janv. 2008 à 09:40
alors avec cette methode t'as pas besoin ni de header ni de rien seulement de html je t'explique:
1)tu cré un repertoire;dans le dossier qui contient tes page web sous www de easy php;que tu nome téléchargement par exemlpe
2) tu mets tout document a telecharger dans le repertoire telechargement il doivent etre soit avec l'extension "zip","rar","xls","doc","pdf"
3)dans ta page html des lien vers les document contenu dans telechargement
exemple:[telechargement/Nero.zip cour musique ]
4)l'execution de la page html de se faire avec easy php sois avec une alias ou dans web local www
iron ian
Messages postés13Date d'inscriptionlundi 7 mai 2007StatutMembreDernière intervention16 janvier 2008 16 janv. 2008 à 17:11
J'ai essayé sur linux.
Quand j'ouvre le fichier, ça me dit que le nom du fichier indique qu'il est en pdf, alors que son contenu indique que c'est du type html.