By: Olivier HOT
Date: 2010-10-21
Time: 15:56
|
bad CRC dans le Zip fusionnéBonjour,
J'utilise OpenTBS pour faire des fusions de documents OpenOffice Write en batch (j'utilise php en ligne de commande et pas en mode WEB derrière apache). Lorsque je lance une création d'environ 200 documents, ca marche plutôt bien mais certains refusent de s'ouvrir. En fouillant, je me rend compte que l'archive ZIP est corrompue, et les fichiers content.xml et styles.xml ont des erreurs CRC. J'ai décompressé ces fichiers en ignorant les erreurs puis rezippé, et là pas de soucis. Visiblement, c'est la compression faite par OpenTbs qui a l'air de générer cette erreur. Configuration sommaire: PHP5.3.0 extrait du phpinfo() en ligne de commande: Registered PHP Streams => php, file, glob, data, http, ftp, zip, compress.zlib,phar Registered Stream Filters => convert.iconv.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk, zlib.* zlib ZLib Support => enabled Stream Wrapper support => compress.zlib:// Stream Filter support => zlib.inflate, zlib.deflate Compiled Version => 1.2.3 Linked Version => 1.2.3 Directive => Local Value => Master Value zlib.output_compression => Off => Off zlib.output_compression_level => -1 => -1 zlib.output_handler => no value => no value Quelqu'un a t il déjà eu le probleme? Je vais faire le même test sur une ubuntu up to date au niveau des librairies, mais c'était pour savoir s'il y a déjà un truc identifié à ce jour... |
By: Skrol29
Date: 2010-10-21
Time: 17:54
|
Re: bad CRC dans le Zip fusionnéBonjour Olivier,
Merci pour avoir remonté ce problème. C'est la première que ce phénomène apparait. Pourrais-tu me concocter un brin de code avec un modèle qui reproduise ce bug ? |
By: Olivier HOT
Date: 2010-10-26
Time: 09:45
|
Re: bad CRC dans le Zip fusionnéSalut, je t'ai envoyé ça le 22/10 en réponse à la notification du message par mail. Je ne sais pas si tu l'as reçu.
N'hésites pas à me contacter pour installer le jeu de tests. @+ Olivier |
By: Skrol29
Date: 2010-10-26
Time: 11:00
|
Re: bad CRC dans le Zip fusionnéSalut,
Non je n'ai rien reçu :( Pour être sûr, tu peux me l'envoyer à l'adresse indiquée ici : http://www.tinybutstrong.com/onlyyou.html |
By: Olivier HOT
Date: 2010-10-26
Time: 11:11
|
Re: bad CRC dans le Zip fusionnéC'est fait. Il fait 5.4 Mo. J'espère que ça va passer.
@+ Olivier |
By: Skrol29
Date: 2010-10-26
Time: 16:10
|
Re: bad CRC dans le Zip fusionnéJ'ai rien reçu, à mon avis ça ne passe pas. Essai avec http://dl.free.fr
|
By: Olivier HOT
Date: 2010-10-27
Time: 09:37
|
Re: bad CRC dans le Zip fusionnéC'est fait. Je t'ai mis le lien par mail. Penses à lire le contenu du mail initial que je t'ai joint.
@+ Olivier |
By: Skrol29
Date: 2010-10-27
Time: 12:22
|
Re: bad CRC dans le Zip fusionnéSalut Olivier,
J'ai bien reçu ton message et le code. Merci à toi pour avoir fourni ces éléments :) Dans ton fichier ODT fusionné, c'est le fichier "styles.xls" qui pose problème. La méthode gzdeflate() de PHP le compresse en une taille de 3 188 octets, alors que 7zip (et semble-t-il tout autre fonction logicielle) le compresse en 3 153 octets. C'est pourtant bien la méthode de compression DEFLATE (normalisé en RFC 1951) qui est sensée être utilisée dans le deux cas, niveau de compression = 6 (c'est celui par défaut). J'ai essayé d'autres niveau de compression, d'autres méthodes gzencode() et gzcompress(), mais je n'arrive pas du tout à retrouver cette compression à 3 153 octet produite par les logiciels. J'ai essayé en PHP 5.3.0 et 4.4.9, c'est le même résultat. Pour ceux qui veulent reproduire cette étrangeté PHP, j'ai mis le fichier style.xls incriminé dans un zip à cette adresse : http://www.tinybutstrong.com/download/bug_styles.zip Donc voilà : pour l'instant le bug est identifié mais je continue à chercher la solution car à ce stade c'est PHP qui produit un résultat innatendu. |
By: Skrol29
Date: 2010-10-27
Time: 13:25
|
Re: bad CRC dans le Zip fusionnéPour info, le fichier est compressé avec une taille de 3 177 octets par la classe ZipArchive de la biblio zip de PHP. Cett archive est valide bien sûr.
|
By: Skrol29
Date: 2010-10-28
Time: 10:14
|
Re: bad CRC dans le Zip fusionnéJe change de piste, c'est le CRC renseigné par OpenTBS qui semble non valide....
|
By: Olivier HOT
Date: 2010-11-03
Time: 11:35
|
Re: bad CRC dans le Zip fusionnéC'est bon, avec ton correctif, ça fonctionne correctement.
Merci pour le boulot accompli. @+ Olivier |