Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] Enregistrer le zip sur le disque avec jZipCreator

Posted by scrasch on 06/21/2011 11:07

Bonjour,

Est-il possible d'enregistrer le zip créé avec jZipCreator sur le disque à la fin de la fonction?

 
    function export() {
<code>
    	$rep = $this->getResponse('zip');
    	$rep->zipFilename = 'my_File.zip';
    	
    	$fichierTxt = 'Test!';
    	
    	$rep->content->addContentFile('my_File.txt', $fichierTxt);   	
            	
    	return $rep;  
    }
Je n'ai trouvé nulle part d'indication allant dans ce sens! </code>

Cordialement, Thomas

  [Opened] Enregistrer le zip sur le disque avec jZipCreator

Reply #1 Posted by laurentj on 06/21/2011 13:08

Si tu regardes bien jZipCreator, tu as une méthode getContent(). À partir de là, enregistrer dans un fichier est trivial (avec file_put_content par exemple)

  [Opened] Enregistrer le zip sur le disque avec jZipCreator

Reply #2 Posted by scrasch on 06/21/2011 15:08

Merci pour votre réponse! Question complémentaire : Comment fait on pour que le zip ne soit pas proposé à télécharger et qu'on redirige vers une nouvelle page (ou rafraichisse la page actuelle)? J'ai essayé ça mais ce n'est pas bon :

<code>
    	$rep->doDownload = false;
    	$rep->action = 'admin~demo:index';
</code>

Merci! :)

  [Opened] Enregistrer le zip sur le disque avec jZipCreator

Reply #3 Posted by laurentj on 06/21/2011 15:10

Tu ne peux pas proposer à la fois un téléchargement et à la fois faire une redirection. HTTP ne permet pas de faire ça.

  [Opened] Enregistrer le zip sur le disque avec jZipCreator

Reply #4 Posted by scrasch on 06/21/2011 15:38

D'accord, mais comment je fais pour faire juste une redirection avec la "réponse zip" (sans proposer le téléchargement vu que j'ai déjà enregistré le fichier)?

$rep = $this->getResponse('zip');

  [Opened] Enregistrer le zip sur le disque avec jZipCreator

Reply #5 Posted by laurentj on 06/21/2011 16:36

Si tu ne veux pas renvoyer de fichier zip, ça veut dire que tu ne veux pas utiliser de reponse "zip" ! En faisant un getResponse, tu choisi ce que tu veux renvoyer au navigateur. Donc indique à jelix le bon type de réponse ! Et dans ton cas, il faut que tu renvoi une reponse "redirect". Et utilises directement l'objet jZipCreator au lieu de la réponse zip (pas de getResponse('zip') !!! ), pour créer ton zip.

 
Page
  1. la méthode jAuth::verifyPassword() ne fonctionne pas >
  2. la méthode jAuth::verifyPassword() ne fonctionne pas >
  3. la méthode jAuth::verifyPassword() ne fonctionne pas >
  4. Re: jDao et problème de jointure sur clé étrangère >
  5. la méthode jAuth::verifyPassword() ne fonctionne pas >
  6. Gestion des locales dans les validations de forms >
  7. Enregistrer le zip sur le disque avec jZipCreator >
  8. Enregistrer le zip sur le disque avec jZipCreator