Forum Programmation.web génération d'un fichier zip

Posté par  .
Étiquettes : aucune
0
18
août
2005
Salut,

j'aimerai savoir s'il est possible de générer un fichier zip d'un répertoire via un fichier php.
Je m'explique:
Si je fais un lien <a href=./mon_dossier/fichier.php> test et que l'internaute clique dessus, alors il téléchargera mon_dossier.zip

Je precise que mon_dossier.zip n'existe pas
  • # oui

    Posté par  (site Web personnel) . Évalué à 2.

    Suffit de dire au browser que ce qui suit est un fichier zip grâce à la fonction header(), après t'as plus qu'à effectivement générer et envoyer le fichier à coups d'echo. Selon les données envoyées, il peut être utile de "cacher" le fichier envoyé pour pas avoir à le regénérer à chaque fois. Une technique intéressante pour ça est décrite ici: http://www.00f.net/php/show-article.php/fast_php_cache_with_mod_rew(...)

    À noter qu'il est possible que ça ne marche pas bien avec certaines vieilles version d'IE qui se base sur le nom de fichier et ignorent le header HTTP.

    pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.

    • [^] # Re: oui

      Posté par  . Évalué à 1.

      En fait, ce que j'aimerai c'est ne pas stocker le zip sur mon serveur.
      C'est pour ca que je me demandais s'il était possible d'envoyer un fichier "qui n'existe pas"...
      • [^] # Re: oui

        Posté par  (site Web personnel) . Évalué à 3.

        Si tu fais en sorte que le script télécharge le fichier et l'envoi à la volée, tu vas perdre beaucoup de bande passante. Tu ferais sans doute mieux de rediriger le client vers l'emplacement réel du fichier (avec mod_rewrite, un meta http-equiv ou du php).

        pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.

        • [^] # Re: oui

          Posté par  . Évalué à 1.

          Très bien, merci beaucoup pour ton aide, ça a l'air de fonctionner en faisait des petits tests :)

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n’en sommes pas responsables.