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

  FORUM HardWare.fr
  Programmation
  PHP

  problème de téléchargment de fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problème de téléchargment de fichier

n°689331
chameau27
Posté le 01-04-2004 à 09:19:44  profilanswer
 


 
Bonjour tout le monde,
 
Voila, j'ai un petit soucis, je suis en train de créé une application web avec laquelle à un moment donné le client connecté aura la possibilité de télécharger un fichier. Donc j'ai créé un lien sur lequel il peut cliquer mais le problème c'estr qu'au lieu de télécharger le fichier en question, il me télécharge le source du lien. ???????????
 
Quand je teste en local, il me télécharge le bon fichier mais quand je le teste via une autre machine ca ne marche pas
 
Voici le code source du lien
 
 
 
<html>
<head>
<title>Forcer le téléchargement d'un fichier</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
 
<?php
 
// Test du téléchargement d'un fichier avec reconnaissance du type de fichier  
echo "<a href=\"telecharger.php?Fichier_a_telecharger=donnees6.txt&chemin=./ \">Télécharger</a>";
?>
 
</body>
</html>
 
 
 
Voici le code source telecharger.php
 
 
<?php  
 
// on essaie de reconnaitre l'extension pour que le téléchargement corresponde au type de fichier afin d'éviter les erreurs de corruptions  
 
switch(strrchr(basename($_GET['Fichier_a_telecharger']), "." )) {
 
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;
 
}
 
header("Content-disposition: attachment; filename=".$_GET['Fichier_a_telecharger']);  
header("Content-Type: application/force-download" );  
header("Content-Transfer-Encoding: $type\n" ); // Surtout ne pas enlever le \n
header("Content-Length: ".filesize($_GET['chemin'] . $_GET['Fichier_a_telecharger']));  
header("Pragma: no-cache" );  
header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0, public" );  
header("Expires: 0" );  
readfile($_GET['chemin'].$_GET['Fichier_a_telecharger']);  
?>

mood
Publicité
Posté le 01-04-2004 à 09:19:44  profilanswer
 

n°689420
chameau27
Posté le 01-04-2004 à 10:53:45  profilanswer
 

quelqu'un éventuellement saurait me donner une piste
 
peut ête que je dois changer une option dans le fichier phpini   ?????????

n°689507
dropsy
et bonne chance surtout...
Posté le 01-04-2004 à 11:51:32  profilanswer
 

les balises [code], c'est pas fait pour rien :p
 
si j'ai bien compris ton problème, quand tu cliques sur le lien, le code contenu dans telechargement.php s'affiche dans ton navigateur?
php est il installé sur ton serveur? ton serveur web est-il configuré pour gérer les pages en php?

n°689520
ratibus
Posté le 01-04-2004 à 11:58:51  profilanswer
 

Y a des problèmes de sécurité dans ton script, on peut récupérer le fichier que l'on souhaite en passant le chemin et le fichier telecharger qui vont bien :)

n°689639
chameau27
Posté le 01-04-2004 à 13:45:26  profilanswer
 


mon serveur gère bien les pages php
en fait quand tu cliques sur le lien, je voudrais qu'il lance un téléchargement d'un fichier dont je lui spécifie le chemin
 
en local il télécharge bien le fichier mais en réseau, il télécharge une image html du répertoire courant du code source test.php

n°689650
dropsy
et bonne chance surtout...
Posté le 01-04-2004 à 13:51:41  profilanswer
 

chameau27 a écrit :


en local il télécharge bien le fichier mais en réseau, il télécharge une image html du répertoire courant du code source test.php


tu peux me traduire ça? :D
j'ai rien compris :pt1cable:  
 
si ça marche sur ton serveur de prod et pas sur ton serveur de dév, c'est qu'ils ont pas la même configuration [:proy] (je sais, j'enfonce les portes ouvertes :D)
donc, compare tes fichiers php.ini et httpd.conf, pour voir où ils diffèrent.

n°689670
chameau27
Posté le 01-04-2004 à 14:01:47  profilanswer
 

qhand je teste le téléchargement sur la machine réseau, je télécharge le bon fichier donnees6.txt. Aucun problème.
 
Mais quand je le teste sur une machine client, je n'arrive pas a récupérer le fichier donnees6.txt. au lieu de télécharger le fichier donnees6.txt, il télécharge le fichier test.php qu'il met en type htm.

n°689784
dropsy
et bonne chance surtout...
Posté le 01-04-2004 à 14:52:55  profilanswer
 

et tu es sûr que l'extension .php a associée au module php dans le httpd.conf? :heink:
compare tes fichiers de config locaux avec les versions sur ton serveur [:proy]

n°689817
chameau27
Posté le 01-04-2004 à 15:13:23  profilanswer
 

je sais ,je suis lourd.  Mais bon je débute en php et je ne suis pas tres fort point de vue serveur
 
je dois regarder où dans le fichier httpd.conf?????
et les fichiers de config locaux sont ou??
 

n°689846
dropsy
et bonne chance surtout...
Posté le 01-04-2004 à 15:31:05  profilanswer
 

regarde partout ou il y a "php":p
 
plus sérieusement, avec un soft style textpad tu peux comparer les fichiers.
 
le httpd.conf est dans le rép conf de apache... après, je sais pas où tu as installé tes softs ;)
c'est aussi différend si t'es sous linux ou win [:proy]

mood
Publicité
Posté le 01-04-2004 à 15:31:05  profilanswer
 

n°689848
dropsy
et bonne chance surtout...
Posté le 01-04-2004 à 15:32:56  profilanswer
 

tu peux regarder ici: http://forum.hardware.fr/hardwaref [...] 2943-1.htm pour les pbm de conf d'apache ;)
 
edit: avec une url plus jolie :)


Message édité par dropsy le 01-04-2004 à 15:39:22
n°689869
chameau27
Posté le 01-04-2004 à 15:48:48  profilanswer
 


 
merci, je vais aller regarder
 
je te tiendrai au courant  
 
 
 


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

  problème de téléchargment de fichier

 

Sujets relatifs
Probléme fonction mailProbléme avec une requête PHP/MySQL
probleme de window.openécrire dans un fichier
Informations fichierproblème de format de date
Lire un fichier temporaireprobleme projet casse brique ...
probleme fin de session[File] Ecrire dans un fichier que j'ai créé !!!
Plus de sujets relatifs à : problème de téléchargment de fichier


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