Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1608 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  odtPHP : erreur étrange (fichier odt défectueux)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

odtPHP : erreur étrange (fichier odt défectueux)

n°1985271
suizokukan
Posté le 18-04-2010 à 19:05:30  profilanswer
 

Bonjour à tous,
j'utilise la librairie odtPHP qui permet de créer des odt. Cette librairie fonctionne vraiment très bien, aussi je crois que le problème vient de moi. J'ai d'ailleurs repris un exemple donné sur le site d'odtPHP, pour être sûr. Mon problème apparaît seulement quand je place ce code à un certain endroit de mon programme, dans un bloc comme celui-ci :

 
Code :
  1. // Code testant si le "bouton_machin" a été pressé dans un autre fichier .php qui renvoie alors au fichier courant et contenant :
  2. if( isset($_POST['bouton_machin'] )
  3. {
  4. // code créant un fichier .odt et affichant une fenêtre "ouvrir avec OpenOffice/enregistrer"
  5. }


Je le répète, le code fonctionne très bien partout(?) ailleurs; mais là, OpenOffice me dit que le fichier est "défectueux" et l'ouvre tant bien que mal.
Est-ce que quelqu'un voit l'origine du problème ? Merci !

 

EDIT : voir plus bas, ce que je dis là n'a rien à voir avec mon problème.


Message édité par suizokukan le 18-04-2010 à 21:38:24

---------------
rule #1 : trust the python
mood
Publicité
Posté le 18-04-2010 à 19:05:30  profilanswer
 

n°1985281
Profil sup​primé
Posté le 18-04-2010 à 20:11:03  answer
 

Ça m'étonnerait que ça fonctionne très bien (syntax error), mais j'imagine que normalement tu fermes bien toutes les parenthèses
 
Ceci dit peut etre que le fichier est considéré comme défectueux parce que t'as une erreur E_NOTICE quelque part qui fait merdouiller le truc ?
Je te conseille d'ouvrir le fichier de sortie avec le bloc note, et de regarder s'il n'y a pas un quelconque message d'erreur. C'est tout ce que je peux te répondre avec le code que tu nous montres :s


Message édité par Profil supprimé le 18-04-2010 à 20:13:20
n°1985285
TotalRecal​l
Posté le 18-04-2010 à 20:40:30  profilanswer
 

Et de manière générale si tu ne le fais pas déjà, active l'affichage de toutes les erreurs, ça te donnera bien une info...


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°1985300
suizokukan
Posté le 18-04-2010 à 21:12:00  profilanswer
 

Merci pour ces réponses. Hélas (1) le problème de la parenthèse n'en est pas un - mon code réel est exempt de cette erreur (2) regarder le contenu du document créé ne m'a rien appris (3) je n'ai aucune erreur lors de l'exécution du script PHP, alors que je suis au niveau le plus exigeant (E_STRICT).
 
Je continue de chercher...


---------------
rule #1 : trust the python
n°1985311
suizokukan
Posté le 18-04-2010 à 21:36:42  profilanswer
 

Bon, je progresse : ce qui fait trébucher la librairie odtPHP est mon autoload :

Code :
  1. require_once("php/autoload.php" );


 
(ok, ça n'a rien à voir avec ce dont je parlais au début de mon sujet, désolé...)
 
Quand je supprime cette ligne, tout fonctionne normalement; j'ai regardé le code d'odtPHP mais je ne vois pas de classe homonyme aux miennes. Je continue de chercher...
 
EDIT : plus fort encore, je viens de me rendre compte qu'odtPHP ne faisait aucun appel à __autoload; mais si je laisse le require_once("php/autoload.php" ) avant de faire appel à odtPHP, le fichier ODT est défectueux.
 
EDIT : l'analyse de mon erreur n'est pas correcte; voir plus bas.


Message édité par suizokukan le 25-04-2010 à 10:38:09

---------------
rule #1 : trust the python
n°1985354
NewsletTux
<Insérez ici votre vie />
Posté le 19-04-2010 à 00:03:55  profilanswer
 

est-ce qu'il n'y a pas un retour à la ligne en trop, avant l'ouverture <?php ou bien après la fermeture ?> qui perturberait les "headers" ?


---------------
NewsletTux - outil de mailing list en PHP MySQL
n°1986183
cyruss
Posté le 21-04-2010 à 11:13:25  profilanswer
 

Tu devrais poster directement sur le site de l'API ;)

n°1987350
suizokukan
Posté le 25-04-2010 à 10:35:21  profilanswer
 

> cyruss : merci du conseil, j'ai en effet posté une question dans le forum français d'odtPHP.

 

Je me permets de prolonger la discussion car je soupçonne que mon code contient un GROS problème. Cela fait plusieurs jours que je cherche et je sais maintenant que le problème ne vient pas d'odtPHP ou de mon autoload MAIS :

 

Le code suivant déclenche l'erreur (fichier ODT défectueux après boite de dialogue 'ouvrir avec OpenOffice'/'enregistrer')...

 
Code :
  1. <?php
  2. require_once('php/odtphp/library/odf.php');
  3. $odf = new odf('odt/tutoriel1.odt');
  4. $odf->setVars('titre', 'PHP');
  5. $odf->setVars('message', 'truc');
  6. // ouverture de la boite de dialogue 'ouvrir avec OpenOffice'/'enregistrer'
  7. $odf->exportAsAttachedFile("z07.odt" );
  8. // suite du code [...]
  9. ?>
 

... sauf si je rajoute une ligne die() à la fin après $odf->exportAsAttachedFile("z07.odt" );

 

Voyez-vous quel est le problème ? Je crains que mon faible niveau en PHP ne soit responsable de tout ce bazar. Merci d'avance !

 

NB : j'ai bien vérifié qu'avant <?php et après ?> aucun caractère n'était laissé.


Message édité par suizokukan le 25-04-2010 à 16:38:21

---------------
rule #1 : trust the python

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  odtPHP : erreur étrange (fichier odt défectueux)

 

Sujets relatifs
Upload de gros fichier ?Recherche de voyelles dans un fichier
[BATCH] creation de repertoires par parcours de fichier texteerreur éxécution 2465, impossible de trouver le champ résultat.
Télécharger un fichier depuis batchRécupération des données d'un fichier .hex
Erreur code VBA sur Excel2007[PHP/MYSQL] formulaire et modification à distance de fichier
erreur d'éxécution 91 
Plus de sujets relatifs à : odtPHP : erreur étrange (fichier odt défectueux)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR