|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : juillet 2007 Messages : 13 ![]() |
Bonsoir tout le monde,
J'ai écris un petit script en PHP pour créer un fichier excel. J'ai réussi a me dépattouiller de toutes les erreurs que j'ai rencontré dans les classes et mon script fait exactement ce dont j'ai besoin. Jusque là, sympa, hein ? Mon problème vient de la mise en ligne de mon script. En local : nickel, en ligne il ne marche plus !! Apparemment, il tourne mais l'ouverture d'excel est longue et quand il s'ouvre, j'ai des messages d'erreur : "Le document est endommagé et ne peut pas être ouvert. Pour essayer de le réparer, utilisez la commande Ouvrir et Réparer de la boîte de dialogue Ouvrir (menu Fichier), puis sélectionnez Extraire les données lorsque vous y serez invité." Un bouton Ok, donc Ok "Impossible d'accéder à "...xls" et encore bouton Ok Il faut dire aussi qu'en local j'ai une erreur : "Erreur de fichier: risque de perte de données." Mais quand je valide le bouton Ok, j'ai tout. La différence que j'ai entre le serveur et le local, c'est la version de PHP : 5.2.8 chez moi, 4.4.3-dev chez free Si vous avez des infos a me donner, je suis preneur |
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() Vincent Développeur informatique Inscription : janvier 2009 Messages : 246 ![]() |
Bonjour,
Est ce que tu peux mettre le code du script qui génère ton fichier, pour voir si l'output n'est pas "pollué" par quelque chose. |
|
|
00
|
|
|
#3 | |||
|
Invité de passage
![]() Inscription : juillet 2007 Messages : 13 ![]() |
Citation:
Code :
|
|||
|
|
00
|
|
|
#4 | |
|
Membre confirmé
![]() Vincent Développeur informatique Inscription : janvier 2009 Messages : 246 ![]() |
J'aurais préféré voir l'ensemble du script mais bon on va faire sans. Vérifie si tu as pas des fonctions susceptibles d'envoyer des données par la sortie standard : require(), include(), require_once(), include_once(), et à fortiori : echo(), var_dump() ou print_r() dans ton script de génération. par exemple si tu as mis un require_once('connexion.php'); pour initialiser une connexion à une base de données met le code correspondant à ta connexion directement dans ton script de génération.
Oui, aussi : j'ai vu que tu étais chez free donc tant qu'a faire tu peux activer php5 ça peut pas faire de mal, et peut être même résoudre plus ou moins le problème en te permettant de fonctionner comme en local. Mais il n'en reste pas moins que tu as aussi une erreur en local donc il y a surement un problème au niveau du code. Pour switcher sur PHP5 chez free il faut placer à la racine du site un fichier ".htaccess" qui contienne : Citation:
|
|
|
|
00
|
|
|
#5 | ||
|
Invité de passage
![]() Inscription : juillet 2007 Messages : 13 ![]() |
Pour le script complet :
Code :
Je vais tester en passant en php5 sur free Merci pour l'info |
||
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : juillet 2007 Messages : 13 ![]() |
J'ai fais l'essai en changeant la version du php (j'ai vérifier, je suis sur la version 5.1) mais le résultat est le même
|
|
|
00
|
|
|
#7 | |
|
Membre confirmé
![]() Vincent Développeur informatique Inscription : janvier 2009 Messages : 246 ![]() |
Citation:
.
|
|
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : juillet 2007 Messages : 13 ![]() |
Je vais essayer ça, et je te tiens au courrant
Merci JLuc69 |
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : juillet 2007 Messages : 13 ![]() |
Et ben non, le problème demeure toujours le même
|
|
|
00
|
|
|
#10 |
|
Membre confirmé
![]() Vincent Développeur informatique Inscription : janvier 2009 Messages : 246 ![]() |
Quelle est ta version de PHPExcel ?
Si tu utilise la dernière version de PHPExcel 1.7.6 les prérequis sont : » PHP version 5.2.0 or newer » PHP extension php_zip enabled *) » PHP extension php_xml enabled » PHP extension php_gd2 enabled (if not compiled in) Ce qui expliquerait peut être que ça ne fonctionne pas en ligne. Mais ça ne résout pas le message que tu as en local. Pour ça tu peux essayer d'encoder ton fichier script en UTF-8 (without BOM) c'est ce qui est préconisé pour l'utilisation de la librairie PHPExcel. Il faut aussi vérifier que tu n'ai pas une ligne d'espace aprés: "<?php" et pas une ligne d'espace avant : "?>" (c'est pas le cas dans ton code). Et toutes ces règles s'appliquent aussi à tous les fichiers inclus. |
|
|
00
|
|
|
#12 |
|
Membre confirmé
![]() Vincent Développeur informatique Inscription : janvier 2009 Messages : 246 ![]() |
ah ok, au temps pour moi j'avais même pas fais gaffe
Dans ce cas je ne pourrai pas trop t'aider. Néanmoins, au niveau des règles énoncées plus haut je suppose qu'elles doivent être relativement les mêmes pour writeexcel.
|
|
|
00
|
|
|
#13 | ||
![]() ![]() Gérard ErnaelstenDBA & Dev PHP Inscription : juin 2005 Messages : 3 174 ![]() |
Salut,
Est-tu sûr du chemin du fichier temporaire Code :
__________________
Il faut toujours viser la lune, car même en cas d'échec on arrive dans les étoiles. O.Wilde Mes Articles/Critiques : Merise - Guide pratique PHPExcel PostgreSQL : Administration et exploitation d'une base de données PostgreSQL : Entraînez-vous à créer et programmer une base de données relationnelle |
||
|
|
00
|
|
|
#14 |
|
Invité de passage
![]() Inscription : juillet 2007 Messages : 13 ![]() |
Oui, le répertoire est bien créé.
Mon script est dans le répertoire "writeexcel" qui est lui même à la racine de mon site. Au même niveau, j'ai le répertoire "tmp". Sur ce répertoire, j'ai les droits d'écriture, de lecture et d'execution |
|
|
00
|
|
|
#15 |
![]() ![]() Gérard ErnaelstenDBA & Dev PHP Inscription : juin 2005 Messages : 3 174 ![]() |
on peut voir un exemple du fichier xls ?
__________________
Il faut toujours viser la lune, car même en cas d'échec on arrive dans les étoiles. O.Wilde Mes Articles/Critiques : Merise - Guide pratique PHPExcel PostgreSQL : Administration et exploitation d'une base de données PostgreSQL : Entraînez-vous à créer et programmer une base de données relationnelle |
|
|
00
|
|
|
#16 |
![]() ![]() Gérard ErnaelstenDBA & Dev PHP Inscription : juin 2005 Messages : 3 174 ![]() |
Peux-tu modifier un des fichiers exemple de writeExcell pour voir si il fonctionne chez ton hébergeur ?
Je pense que le souci vient de chez free.
__________________
Il faut toujours viser la lune, car même en cas d'échec on arrive dans les étoiles. O.Wilde Mes Articles/Critiques : Merise - Guide pratique PHPExcel PostgreSQL : Administration et exploitation d'une base de données PostgreSQL : Entraînez-vous à créer et programmer une base de données relationnelle |
|
|
00
|
|
|
#17 |
|
Invité de passage
![]() Inscription : juillet 2007 Messages : 13 ![]() |
|
|
|
00
|
|
|
#18 |
![]() ![]() Gérard ErnaelstenDBA & Dev PHP Inscription : juin 2005 Messages : 3 174 ![]() |
A l'époque quand j'avais créer le tutos sur le sujet , je passais par une classe générique. essaye pour voir ?
__________________
Il faut toujours viser la lune, car même en cas d'échec on arrive dans les étoiles. O.Wilde Mes Articles/Critiques : Merise - Guide pratique PHPExcel PostgreSQL : Administration et exploitation d'une base de données PostgreSQL : Entraînez-vous à créer et programmer une base de données relationnelle |
|
|
00
|
|
|
#19 |
|
Invité de passage
![]() |
Ayant été confronté au problème une fois avec cette classe, ce message peut apparaitre aussi lorsque lors de la génération tu écrit deux fois dans une même cellule.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com