Poo PHP et version de Php - SpreadsheetExport

Le
Newsgroups
Bonjour,

J'ai un souci Php et j'aurais besoin de votre aide.
J'utilise une librairie me permettant de générer des fichiers "Open
Document Spredsheets" (lib SpreadsheetExport).

En local mon script fonctionne (php -v : PHP 5.2.4-2ubuntu5.14)
En prod. ça ne fonctionne pas (php -v : PHP 5.3.3-7)


Mon code php est de ce genre :
$export = new SpreadsheetExport();
$export->AddColumn("string", 2);
$export->AddColumn("string", 2);
$export->AddColumn("string", 2);
$export->AddRow(array("test", "", "", "", ""));
print_r($export);

En local le print_r retourne ce genre d'objet :
SpreadsheetExport Object
(
[columns:private] => Array(

En prod. le print_r retourne ce genre d'objet :
SpreadsheetExport Object
(
[columns:SpreadsheetExport:private] => Array(


Je pense que ca vient de la version de PHP.. mais comment m'en sortir ?
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Mickael Wolff
Le #23233061
On 25/03/11 13:18, Newsgroups wrote:
En local mon script fonctionne (php -v : PHP 5.2.4-2ubuntu5.14)
En prod. ça ne fonctionne pas (php -v : PHP 5.3.3-7)



« Ça marche pas » n'est pas pertinent.
Quel est le résultat attendu ? Quel est le résultat obtenu ? Quels
sont les messages d'erreur éventuel ?
Newsgroups
Le #23235781
« Ça marche pas » n'est pas pertinent.


oui, en fait, je m'en fou un peu de savoir que ça ne marche pas.. mon
but est surtout de comprendre pourquoi l'objet Php est différent selon
la version.

Mais sinon, pour être plus précis, le "marche pas" signifie :
- pas de message d'erreur
- j'obtiens bien un fichier *.ods téléchargeable (y'a les entetes qui
vont bien)
- à l'ouverture du fichier avec openOffice, j'ai un message d'erreur :
"impossible d'ouvrir le fichier 'xxx.ods' : il est défectueux."
- si je décompresse le fichier ods, j'ai plusieurs fichiers :
content.xml, mimetype et un dossier META-INF ce dernier contenant
manifest.xml
Mickael Wolff
Le #23236171
On 25/03/11 13:18, Newsgroups wrote:
Bonjour,

J'ai un souci Php et j'aurais besoin de votre aide.
J'utilise une librairie me permettant de générer des fichiers "Open
Document Spredsheets" (lib SpreadsheetExport).



Au fait, le lien vers le script que tu utilises serait le bienvenue.
Mickael Wolff
Le #23236181
On 26/03/11 17:56, Newsgroups wrote:
« Ça marche pas » n'est pas pertinent.


oui, en fait, je m'en fou un peu de savoir que ça ne marche pas.. mon
but est surtout de comprendre pourquoi l'objet Php est différent selon
la version.



Parce que ce n'est pas la même version. :)

Plus sérieusement, avec une version 5.3, les namespace furent
introduits. Le bricolage est plus ou moins heureux, et apporte son lot
de pièges, mais c'était une fonctionnalité attendue depuis bien
longtemps. Et vu que c'est quand même une grosse fonctionnalité qui a
abattu pas mal de cloisons, il n'est pas étonnant qu'il y ait des
régression (même si PHP a des tests unitaires, ils ne couvrent pas tout
les cas d'usage).

Au delà de l'ajout de fonctionnalité, il se peut que le script
initiale dépendant d'un bogue de PHP, qui a été corrigé.

Mais sinon, pour être plus précis, le "marche pas" signifie :
- pas de message d'erreur


Donc ça marche © :D

- j'obtiens bien un fichier *.ods téléchargeable (y'a les entetes qui
vont bien)


Quelles en-têtes ? (HTTP, Zip, fichiers dans l'ODS?)

- à l'ouverture du fichier avec openOffice, j'ai un message d'erreur :
"impossible d'ouvrir le fichier 'xxx.ods' : il est défectueux."


Effectivement, ce n'est pas un message très parlant. Peut-être
existe-t-il un outil qui permet de vérifier les fichiers OpenDocument ?

- si je décompresse le fichier ods, j'ai plusieurs fichiers :
content.xml, mimetype et un dossier META-INF ce dernier contenant
manifest.xml


Il semblerait donc que le script ou PHP a un bogue. Bon courage :)

Mais je vais y jeter un coup d'œil.
Newsgroups
Le #23241211
> J'ai un souci Php et j'aurais besoin de votre aide.
> J'utilise une librairie me permettant de générer des fichiers "Open
> Document Spredsheets" (lib SpreadsheetExport).

Au fait, le lien vers le script que tu utilises serait le bienvenue.



pas simple à retrouver... même pas dans les scripts ! la voilà tout de
même :
http://sourceforge.net/projects/spreadsheetexpo/files/
http://blog.fusonic.net/2009/02/export-spreadsheet-in-odscsv-format-with-php5/#more-130
Mickael Wolff
Le #23242021
On 28/03/11 22:36, Newsgroups wrote:
pas simple à retrouver... même pas dans les scripts ! la voilà tout de
même :
http://sourceforge.net/projects/spreadsheetexpo/files/
http://blog.fusonic.net/2009/02/export-spreadsheet-in-odscsv-format-with-php5/#more-130



C'était bien celui-là sur lequel j'étais tombé.

Chez moi ça marche pas © :)
En fait, le script déclenche un warning à chaque utilisation de
SimpleXML. Le premièr avertissement déclenché lors de l'utilisation du
script d'exemple est :
== 8< = PHP Warning: SimpleXMLElement::addAttribute(): Attribute requires
prefix for namespace in
/home/dev/foreign/spreadsheetexport-0.1.0/lib/SpreadsheetExport.php on
line 243
PHP Stack trace:
PHP 1. {main}()
/home/dev/foreign/spreadsheetexport-0.1.0/examples/example.php:0
PHP 2. SpreadsheetExport->DownloadODF()
/home/dev/foreign/spreadsheetexport-0.1.0/examples/example.php:33
PHP 3. SpreadsheetExport->GetODF()
/home/dev/foreign/spreadsheetexport-0.1.0/lib/SpreadsheetExport.php:144
PHP 4. SimpleXMLElement->addAttribute('media-type',
'application/vnd.oasis.opendocument.spreadsheet',
'urn:oasis:names:tc:opendocument:xmlns:manifest:1.0')
/home/dev/foreign/spreadsheetexport-0.1.0/lib/SpreadsheetExport.php:243
== >8 =
L'ensemble des avertissement suivant ce premier ont la même tête.
Du coup, ton problème n'a rien à voir avec l'implémentation de
l'objet dans PHP. Je penche plutôt sur un SimpleXML plus tatillon. Je
t'encourage à afficher les erreurs (display_errors) et à afficher toutes
les erreurs, warning, deprecated, etc (error_reporting).
Publicité
Poster une réponse
Anonyme