Probléme du téléchargement d'un .zip PHP

Résolu
Bonjour,

j'ai un fichier .zip stocké dans une base MySQL sous forme blob ,le probléme est que je veux afficher un lien qui permet de télécharger se fichier. voila mon code :

<form action='download_zip.php' method='get'>
<a href='download_zip.php?idFile=$donnees[id_file]'>Télécharger fichier</a>
</form>


dans le download_zip.php :

$idFile = $_GET['idFile'];

$req = mysql_query("SELECT * FROM file WHERE id_file=$idFile" ) or die(mysql_error());
$rep = mysql_fetch_array($req);

$file = $rep['file'];
$file = base64_decode($file);
header("Content-Type: application/zip");
header("Content-Type: application/force-download" );


quand je clique sur le lien il suvagarde la page download_zip.php , pas le .zip

merci d'avance pour votre aide

3 réponses

  1. J'ai eu a utiliser le telecahrgement de zip par php et voila ce que j'ai dans ma page

    header('Content-Type: application/x-zip');
    header("Content-Disposition: inline; filename=nomdufichier.zip") ;
    echo $fichier;

    J'espere t'avoir un peu aiguillé!
    0
    1. ça marche toujours pas voici mon code du page de téléchargement

      $idFile = $_GET['idFile'];

      $req = mysql_query("SELECT * FROM file WHERE id_file=$idFile" ) or die(mysql_error());
      $rep = mysql_fetch_array($req);

      $file = $rep['file'];
      $file = base64_decode($file);
      header("Content-Type: application/zip");
      header("Content-Type: application/force-download" );
      header('Content-Type: application/x-zip');
      header("Content-Disposition: attachment; filename=test.zip") ;

      mais il télécharge test.zip mais vide et je peux aussi l'ouvrir dans l'éditeur du texte

      :S
      0
      1. ça y est j'ai trouve la solution , merci pour la piste :)

        voici le lien de téléchargement :
        <a href='telecharger_zip.php?id=$donnees[id]'>Télécharger</a>

        telecharger_zip.php :

        $id = $_GET['id'];

        $req = mysql_query("SELECT * FROM commande WHERE id_commande=$id" ) or die(mysql_error());
        $reponse = mysql_fetch_array($req);

        $commande = $reponse['commande']; // colonne où se trouve le fichier .zip
        header("Content-type: application/zip");
        header("Content-Disposition: attachment; filename=$reponse[id_commande].zip");

        echo ($reponse['commande']);
        0