2010-11-11 6 views
0

J'écris un script en php4 qui télécharge un fichier xml qui a été compressé dans un fichier .gz. Le fichier normal est de 25 Mo, lorsqu'il est compressé dans un fichier .gz, il ne contient que 2,5 Mo. Ma question est, y a-t-il des avantages de télécharger le fichier dans le fichier .gz compressé autre que la plus petite taille de fichier? Afin de traiter le fichier xml je dois encore le décompresser localement sur mon serveur et ensuite traiter ce grand fichier xml 25 Mo correct? Je pose cette question car après la décompression, le traitement prend juste une éternité. J'utilise aussi simplexml qui prend le fichier xml et le convertit en un tableau. Toute aide/suggestion serait appréciée. Même si je n'ai que le fichier xml de 25 Mo sur mon serveur local sans avoir à le décompresser, c'est toujours très lent.Lire un fichier gz avec php

+0

@John - mauvaise supposition, cela prend une éternité parce que vous essayez de charger un fichier de 25 Mo en utilisant simplexml, utilisez un plus petit xml pour tester d'abord – ajreal

+0

PHP4? ** PHP4 **? PHP ** 4 **? Vraiment? Pourquoi diable quelqu'un écrirait-il un nouveau code ciblé pour PHP4 en ce jour ??? (Et je n'achète pas l'argument du code hérité, puisque 4 n'est pas supporté donc il est plus logique de passer à 5 (ce n'est pas dur, vraiment) que de continuer à utiliser 4) ... – ircmaxell

+0

Merci pour la réponse! Je me suis dit que c'était le cas, oui j'utilisais un plus petit fichier xml pour tester. Im maintenant dans le processus de la faire vivre, désolé je relis ma question et ce n'était pas clair là-dessus. Avez-vous un processus alternatif plutôt que d'utiliser simplexml? Ou vais-je avoir ce problème quel que soit le processus que j'ai si je vais traiter un fichier xml de 25 Mo? – John

Répondre

0

Vous avez raison de dire que vous devrez toujours traiter le fichier non compressé de toute façon. Vous pourriez être en mesure d'exécuter des tests sur le fichier .gz, mais certainement pas analyser son xml.

0

La question était:

est-il des avantages de télécharger le fichier dans le fichier .gz autre que la taille du fichier?

La réponse est: il y a un avantage évident; Vous téléchargerez moins de données, de sorte que le transfert sera plus rapide. Il suffit d'ouvrir le fichier avec gzopen() au lieu de fopen(). Bien sûr, la partie traitement du script restera terriblement lente.

Je n'ai aucun conseil pour un analyseur XML en PHP 4 car j'ai la chance d'avoir évité le XML dans mon PHP 4 jours.