IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Créer et proposer une archive ZIP


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2014
    Messages : 2
    Par défaut Créer et proposer une archive ZIP
    Bonjour à tous,

    J'ai besoin de proposer aux utilisateurs le téléchargement de PDFs compressés dans une archive ZIP. J'ai testé plusieurs scripts trouvés sur le net jusqu'à trouver mon bonheur. Du moins le pensais-je ! Il s'avère que mon archive est uniquement lisible sous Linux. Incompréhension totale !
    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    $request = $this->getRequest();
            $session = $request->getSession();
            $zip = new ZipArchive();
            $zipName = 'cotations.zip';
            $dir = $this->get('kernel')->getRootDir() . '/../web/bundles/blabla/pdf/'.$session->getId().'/zip/';
            if(file_exists($dir.$zipName)){
                unlink($dir.$zipName);
            }
            if($zip->open($dir.$zipName, ZipArchive::CREATE) === true)
            {
                echo '&quot;cotations.zip&quot; ouvert<br/>';
                $files = scandir($dir);
                unset($files[0], $files[1]);
                foreach($files as $file) {
                    $zip->addFile($dir.$file, $file);
                }
                // Et on referme l'archive.
            }
            else
            {
                echo 'Impossible d'ouvrir &quot;cotations.zip<br/>';
                // Traitement des erreurs avec un switch(), par exemple.
            }
            $zipNameContents = $zip->filename;
            $zip->close();
            $response = new Response(file_get_contents($zipNameContents));
            $response->headers->set('Content-Type', 'application/zip');
            $d = $response->headers->makeDisposition(ResponseHeaderBag::DISPOSITION_ATTACHMENT, $zipName);
            $response->headers->set('Content-Disposition', $d);
     
            return $response;
    Et voici la requêtes de téléchargement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    curl 'http://application.vgrt/web/app_dev.php/pdf-telechargement' 
    -H 'Host: application.vgrt' 
    -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0 Iceweasel/31.8.0' 
    -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' 
    -H 'Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3' 
    -H 'Accept-Encoding: gzip, deflate' 
    -H 'Referer: http://application.vgrt/web/app_dev.php/validation'
    -H 'Connection: keep-alive'
    Auriez-vous un tuto traitant de la création d'archive sous symfony vers lequel me rediriger à la limite ?

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2012
    Messages : 135
    Par défaut
    Salut, quelque chose t’empêche de le faire en dehors de symfony ?

    Pour ma part j’opterai pour une solution en ligne de commande directement en exécutant un script avec la fonction exec de php.

    Bonne journée

Discussions similaires

  1. Créer une archive ZIP
    Par Blo0d4x3 dans le forum C#
    Réponses: 4
    Dernier message: 05/06/2017, 12h47
  2. Créer une archive zip de 2Go
    Par T`lash dans le forum Langage
    Réponses: 1
    Dernier message: 26/11/2013, 04h41
  3. Créer une archive Zip Vide
    Par guillaumerivière7 dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 23/12/2010, 11h16
  4. [1.x] Ziparchive: comment créer et télécharger une archive zip
    Par noreaga10 dans le forum Symfony
    Réponses: 0
    Dernier message: 05/05/2010, 19h40
  5. Créer une archive zip
    Par shaun_the_sheep dans le forum Administration système
    Réponses: 3
    Dernier message: 31/03/2007, 23h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo