Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 14-04-2008 17:51:09

ziedb
Membre
Lieu: Tunis
Date d'inscription: 24-03-2008
Messages: 224

Boite de message Enregistrer/ ouvrir Fichier

Bonjour
Je voudrais obliger mon utilisateur à enregistrer un fichier ou à l'ouvrir sans avoir accès au chemin où le fichier est stocké.
Pour faire ceci. J'ai ecrit ce code dans mon controlleur(Le code a été simplifié au maximum)


Code:

public function modifAction ()
{
    $modif = $this->_request->getParam('nu', 0);
    
        $modifexists = new cDetailsModifs();
        $resultat = $modifexists->fetchRow($modifexists->select()->where('modif = ?',$modif));
        if (!$resultat) {
            $this->view->message="Aucune modification ne correspond à votre demande.";
            $this->view->erreur=true;
            return;
        }else {
            ....
            $dir='C:\sites\www\manufacturing\html\upload\modifs\\';
            $this->view->fichier=$dir.$modif.$resultat->ext_fichier;
                    
        }            
    
    
    
}

Ensuite, j'ai mis dans mon view modif.phtml:


Code:

<?php
header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=\'".$this->fichier."\'\"");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0,pre-check=0");
header("Pragma: public");

?>Lorsque je tape l'URI http://localhost/manufacturing/html/...f/nu/0022ext08, j'obtiens la boite de dialogue "Ouvrir, Enregistrer, Annuler' mais la page qui s'ouvre dans excel correspond réellement au contenu généré dans ma vue modif.phtml et non pas à mon fichier '0022ext08.xls'.

Dernière modification par ziedb (14-04-2008 17:52:10)

Hors ligne

 

#2 14-04-2008 20:42:31

ndesaleux
Membre
Date d'inscription: 16-04-2007
Messages: 196
Site web

Re: Boite de message Enregistrer/ ouvrir Fichier

tu dois avoir d'autre entete, mets un dans l'action de ton controller :

Code:

$this->view->setNoRender(true); // de memoire

ainsi que le code de ta vue.

enfin dans le cas ou tu dois afficher ton fichier

Hors ligne

 

#3 15-04-2008 10:08:26

ziedb
Membre
Lieu: Tunis
Date d'inscription: 24-03-2008
Messages: 224

Re: Boite de message Enregistrer/ ouvrir Fichier

Rien ne change.

Hors ligne

 

#4 15-04-2008 10:34:26

ichevc02
Membre
Date d'inscription: 25-07-2007
Messages: 127

Re: Boite de message Enregistrer/ ouvrir Fichier

Bonjour,

comme l'a deja dis  ndesaleux wink :
pour les headers utilise dans ton action des :

Code:

$this->_response->setHeader('Content-type','application/vnd.ms-excel',true);

et pas la fonction header de php (je ne sais pas a quel moment le zend va réellement les setter et les envoyer, tes headers sont peut-être écraser avant d'être réellement envoyé au navigateur).

Hors ligne

 

#5 15-04-2008 18:20:05

ziedb
Membre
Lieu: Tunis
Date d'inscription: 24-03-2008
Messages: 224

Re: Boite de message Enregistrer/ ouvrir Fichier

ça ne marche pas non plus!!!

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages