Problème de téléchargement

Résolu
cs_jumano Messages postés 64 Date d'inscription dimanche 1 mai 2005 Statut Membre Dernière intervention 29 février 2008 - 9 oct. 2007 à 15:16
cs_jumano Messages postés 64 Date d'inscription dimanche 1 mai 2005 Statut Membre Dernière intervention 29 février 2008 - 10 oct. 2007 à 20:31
Bonjour,
J'ai créé une petite application de gestion de courriers ARRIVEE et DEPART.
J'ai une base centrale (MySQL) sur un site principal et j'ai des petites bases sur des sites distants.
Les bases distantes permettant quand elles sont destinataires du courrier de récupérer les infos et de les intégrer dans leurs propres bases.
Un courrier est toujours accompagné d'un fichier joint en pdf.
J'ai cherché sur le web et mis en place un "force donwload" qui focntionne très bien en local.
Mon soucis est le suivant, lorsque je suis connecté sur un serveur distant et que j'essaye de télécharger un fichier du serveur central, la première feneêtre me demandant d'ouvrir ou de télécharger le fichier apparait mais en suite j'ai un message d'erreur "format error : not a pdf or corrupted".
Voici mon code :
<!-- BEGIN TEMPLATE: bbcode_code -->"downloadAR.php?filename=<?php echo $row_rsCourAR['FICJOINTDP']; ?>" ><?php echo $row_rsCourAR['FICJOINTDP']; ?>

Et celui de ma page downloadAR.php
<?php
 
// reconnait l'extension pour que le t&#1497;l&#1497;chargement
// corresponde au type de fichier afin d'&#1497;viter les erreurs de corruptions
$Fichier_a_telecharger = $_GET['filename'];
$chemin = 'http://adresse_IP/chemin_jusqu_au_dossier_contenant_les_fichiers/' ;
 
switch(strrchr(basename($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=$Fichier_a_telecharger"); 
header("Content-Type: application/force-download"); 
header("Content-Transfer-Encoding: $type\n"); // ne pas enlever le \n
header("Content-Length: ".filesize($chemin . $Fichier_a_telecharger)); 
header("Pragma: no-cache"); 
header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public"); 
header("Expires: 0"); 
readfile($chemin . $Fichier_a_telecharger); 
?>

Si quelqu'un avait une idée, merci d'avance.
 <!-- END TEMPLATE: bbcode_code --> <!-- END TEMPLATE: bbcode_code -->

2 réponses

cs_jumano Messages postés 64 Date d'inscription dimanche 1 mai 2005 Statut Membre Dernière intervention 29 février 2008
10 oct. 2007 à 20:31
Bon et bien à force de faire des essais j'ai trouvé la solution.
Il faut appeler la page donwloasAR.php se trouvant sur le serveur distant et non celle se trouvant dans l'appilcation locale.
 
"http://adresseIP/downloadAR.php?filename=<?php echo $row_rsCourAR['FICJOINTDP']; ?>" ><?php echo $row_rsCourAR['FICJOINTDP']; ?>
3
cs_jumano Messages postés 64 Date d'inscription dimanche 1 mai 2005 Statut Membre Dernière intervention 29 février 2008
9 oct. 2007 à 21:03
Personne n'a une petite idée ???
0
Rejoignez-nous