odtPHP : erreur étrange (fichier odt défectueux) - PHP - Programmation
Marsh Posté le 18-04-2010 à 20:11:03
Ç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
Marsh Posté le 18-04-2010 à 20:40:30
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...
Marsh Posté le 18-04-2010 à 21:12:00
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...
Marsh Posté le 18-04-2010 à 21:36:42
Bon, je progresse : ce qui fait trébucher la librairie odtPHP est mon autoload :
Code :
|
(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.
Marsh Posté le 19-04-2010 à 00:03:55
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" ?
Marsh Posté le 25-04-2010 à 10:35:21
> 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 :
|
... 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é.
Marsh Posté le 18-04-2010 à 19:05:30
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 :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