Téléchargement impossible serveur Free.fr vers client
Bonjour à tous.
Je ne parviens pas à faire fonctionner ces bouts de codes.
merci de m'aider.
Etape clic sur une icone permettant de faire appel à une page pour zipper les fichiers contenus dans le répertoire uploads/traces/rep1/
download du fichier zippé obtenu et destruction de ce dernier sur le serveur.
code 1 :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| <?php if ($user_rw=='y') {
$c = sprintf('%03d',1);
$filename = "uploads/traces/".$lieu1."_".$lieu2."/".$lieu1."_".$lieu2."_".$c.".bdl";
$dossier = "uploads/traces/".$lieu1."_".$lieu2."/";
$trace=$lieu1."_".$lieu2;
if (file_exists($filename)) { ?>
<div align='center'><a href="zip.php?dossier=<?php echo $dossier; ?>&trace=<?php echo $trace; ?>&nbr=<?php echo $statut_mes;?>" >
<img src="image/trace.png" align="middle" alt="" border="0" ></a></td>
<?php } else { ?>
<div align='center'><a href="#" onClick="return confirmDelete('<?php echo "Aucune trace à télécharger"; ?>')">
<img src="image/notrace.png" align="middle" alt="" border="0" ></a></td>
<?php } } else { ?>
<div align='center'><a href="#" onClick="return confirmDelete('<?php echo "Action non permise. Consulter l\'administrateur)"; ?>')">
<img src="image/trace.png" align="middle" alt="" border="0" ></a></td>
<?php } ?> |
Code 2 : Page zip.php
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| <?php
/*
*/
$dossier = $_GET['dossier'];
$filename = $_GET['trace'];
$nbr = $_GET['nbr'];
require("include/zip2.lib.php") ; //indiquez le chemin d'accès à la librairie
header('Content-Type: application/x-zip') ;
header('Content-Disposition: inline; filename=' .$filename.".zip" ) ;
header("Content-Transfer-Encoding: binary");
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header("Expires: 0");
$zip = new zipfile() ; //on crée un fichier zip
$a = 1 ;
while($nbr>=$a)
{
$c = sprintf('%03d',$a);
echo $c;
$file=$dossier.$filename."_".$c.".bdl";
$fp = fopen($file,'r') ; //on ouvre le fichier en lecture seule
$contenu = fread($fp, filesize($file)) ; //on enregistre le contenu
fclose($fp) ; //on ferme FTP
if (filesize($file)!=0)
{
$zip->writeFile($contenu, $file) ; //on ajoute le fichier
}
$a++; //on incrémente $a
}
$zip->writeFinish();
$archive = $zip->file() ; //on associe l'archive
echo $archive ;
?> |
J'obtiens une erreur "fin de l'archive non attendue" en essayant d'ouvrir avec winrar ou winzip. l'archive est endommagée. Merci