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 :

sauvegarder un fichier avec sfPhpExcelPlugin [1.x]


Sujet :

Symfony PHP

  1. #1
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    534
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 534
    Par défaut sauvegarder un fichier avec sfPhpExcelPlugin
    j'ai besoin de créer des fichiers excell a partir de données de ma base.
    Pour ça je tente d'utiliser le plugin sfPhpExcelPlugin.
    Sauf que dans l'exemple 1 il essaye de sauvegarder sur place:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $objWriter->save(str_replace('.php', '.xlsx', __FILE__));
    je me doute que le probléme vient du __FILE__ mais comment lui dire de sauvegarder dans le dossier ad hoc sans le mettre en dur.
    je suppose que c'est le dossier web/uploads ?

    correction même en mettant en dur le chemin ça plante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Could not close zip file ****/web/sfprojects/it_toolbox/web/uploads/test.xlsx.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 396
    Par défaut
    Peut-être y a-t-il une meilleure méthode (entendons par là : une qui passe par les config Symfony), mais tu as toujours la fonction php :
    qui te permet de connaître ton répertoire courant.

  3. #3
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    534
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 534
    Par défaut
    ça n'explique pas pourquoi même avec le chemin en dur, ça plante

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 396
    Par défaut
    Effectivement. Bien que de mettre le chemin en dur, c'est toujours la moins bonne des solutions

  5. #5
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    534
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 534
    Par défaut
    c'est juste pour isoler le problème le plus important qui semble être que le plugin, en faite ne fonctionne pas

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 396
    Par défaut
    Pourrais-tu donner plus de précisions sur ton code. Notamment : comment initialises-tu ton $objWriter ? Te trouves-tu côté Controleur ou Modèle ?

    Tu auras sûrement besoin de remonter dans la méthode save(), histoire de bien voir comment elle fonctionne, comment elle est sensée (censée?) être utilisée et où se pose le problème.

  7. #7
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    534
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 534
    Par défaut
    j'ai juste repris le code de l'exemple 1 du plugin que j'ai rajouté dans un executeIndex, histoire de voir:
    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
    class GrpeChqDejListActions extends sfActions
    {
      public function executeIndex(sfWebRequest $request)
      {
     
      	$this->createexell();
            ........
            .....
     }
     public function createexell()
      {
      	$objPHPExcel = new sfPhpExcel();
           ..........
           ........ 	
          // Save Excel 2007 file
         //echo date('H:i:s') . " Write to Excel2007 format\n";
        $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
        $objWriter->save(str_replace('.php', '.xlsx','home/me/web/sfprojects/it_toolbox/web/uploads/test.php'));
      }

  8. #8
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 396
    Par défaut
    Y a pas un '/' avant ton "home/" normalement ?

  9. #9
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    534
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 534
    Par défaut
    grrr
    j'avais repris tel que le contenu de __FILE__ pour le debut du chemin.

    avec le chemin en dur avec le "\" devant, ça fonctionne
    Faut que je trouve comment le mettre en relatif maintenant.

    Et puis refactoriser tout ça

  10. #10
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 396
    Par défaut
    J'avais oublié de le notifier plus haut, mais Symfony te fournit aussi des méthodes du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    sfConfig::get('sf_web_dir')
    sfConfig::get('sf_root_dir')
    etc.
    qui te permettent facilement d'accéder à tes répertoires.

    C'est toujours pas forcément la méthode idéale, mais bon !

  11. #11
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    534
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 534
    Par défaut
    je pense qu'lle me conviendra.
    Surtout que pour le moment je suis sur un projet auxquels je peut appliquer la structure de symfony mais j'en ai un autre qui devra passer par un cgi-bin et un public_html

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Sauvegarder un fichier avec MySQL JEE
    Par encours dans le forum Développement Web en Java
    Réponses: 3
    Dernier message: 23/07/2012, 14h52
  2. sauvegarder un fichier avec extension
    Par Asmod_D dans le forum Général Java
    Réponses: 5
    Dernier message: 01/11/2009, 23h48
  3. sauvegarde de fichier avec java
    Par bobkorn dans le forum Général Java
    Réponses: 1
    Dernier message: 28/05/2008, 17h23
  4. [BATCH] Sauvegarde de fichiers avec pkzip
    Par tonf dans le forum Windows
    Réponses: 4
    Dernier message: 31/05/2007, 11h53
  5. Comment sauvegarder un fichier avec choix du repertoire
    Par vantoff dans le forum C++Builder
    Réponses: 14
    Dernier message: 24/07/2006, 15h51

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