IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

bzcompress : un cas où il ne compresse pas


Sujet :

Langage PHP

  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2002
    Messages : 299
    Points : 373
    Points
    373
    Par défaut bzcompress : un cas où il ne compresse pas
    Bonjour,

    j'ai utilisé bzcompress pour exporter des dumps de mes bases de données chaque nuit. Sur mes 7 bases, 6 donnent bien des dumps compressés. La septième, la plus grosse (14Mo), produit un dump non compressé.

    gzcompress fait de même, et le changement de niveau de compression ne change rien.

    Le code en fin de fichier est celui ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo bzcompress($retour, 6);
    donc je récupère bien le texte non compressé et pas une erreur.

    Pour les 6 autres bases (plus petites), j'ai bien du texte compressé, or je n'ai rien vu dans la documentation qui décrive ce comportement à la limite.
    Quelqu'un a déjà vu ça et aurait une idée pour régler le problème?

    Cordialement
    Cédric

    Une précision : sur mon poste, Wampserver2, bzcompress et gzcompress arrivent bien à compresser le flux de 14Mo.
    Bref, je me trouve face à une erreur silencieuse et je n'aime pas cela. Il est compréhensible que la fonction ne fasse pas son travail (pour un problème de mémoire ou de temps) mais pas qu'elle ne signale pas le problème.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 448
    Points : 2 284
    Points
    2 284
    Par défaut
    Salut,

    Si tu n'as n'y erreur, ni résultat, c'est surement que ton code n'est pas executé.

    Ton code serait peut être le fautif !
    Postes le stp.


    bye

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2002
    Messages : 299
    Points : 373
    Points
    373
    Par défaut
    Ce fut ma première réaction, mais je l'ai écarté déjà.

    Comme précisé dans le message : je prend n'importe quel fichier de taille raisonnable, il est compressé; je prend un fichier bien plus gros, et là il ne l'est pas.

    Le code est ultra minimal, pas de if(), pas de boucle, du brut. Surtout, aucune sortie "écran" en dehors du echo bzcompress().

    Enfin j'ai testé sur un script encore plus basique, et effectivement quand le flux à compresser est trop gros pour la mémoire disponible, bzcompress et gzcompress le renvoient tel quel sans rien lui faire.

    Par contre la documentation ne mentionne rien à ce sujet, donc avant d'y poser un commentaire je tenais à valider ce comportement avec d'autres personnes.

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 448
    Points : 2 284
    Points
    2 284
    Par défaut
    hm ok, j'ai dû zapper cette partie du message. Dans ce as là il n'y à pas trente six solutions ! Augmenter l'espace mémoire disponible.

  5. #5
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2002
    Messages : 299
    Points : 373
    Points
    373
    Par défaut
    Mon message initiale n'était pas aussi précis.

    Quant à la mémoire disponible, sur un hébergement mutualisé je pense que je vais chercher autre chose.

    Mon interrogation est vraiment sur le fait qu'il n'y a aucune erreur, que ça semble être un comportement normal, et que personne ne l'ai signalé.
    Peut être suis-je le seul fou à vouloir zipper 14Mo sur du mutualisé?

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 448
    Points : 2 284
    Points
    2 284
    Par défaut
    La doc n'étant pas assez claire sur ce point, en faits inexistante, et aucun utilisateur n'ayant contribué à ce sujet...
    Donc surement que oui, c'est un comportement normal.
    Après, peut être qu'en implémentant bzerror et bzerrno tu auras un message d'erreur, mais je ne saurait te le certifier.

    Cependant, en regardant la doc j'ai vu la fonction bzwrite.
    J'avais en tête qu'au lieu de lire tout un fichier pour en créer tout un fichier compressé en une passe, peut être pourrait tu lire ton fichier source par bloc et écrire ton fichier compressé par bloc, ce qui permettrait de contrôler l'utilisation de la mémoire.
    Mais c'est à vérifier, car je n'ai pas testé le comportement de cette méthode et peut être n'est elle pas si économe que cela !

    a plus

Discussions similaires

  1. Réponses: 11
    Dernier message: 06/10/2011, 20h48
  2. Pourquoi Zip ne compresse pas les images ?
    Par byloute dans le forum Imagerie
    Réponses: 2
    Dernier message: 17/11/2009, 14h58
  3. Cas d'utilisation bon ou pas ?
    Par Invité dans le forum Cas d'utilisation
    Réponses: 3
    Dernier message: 03/08/2009, 20h19
  4. Cas d'utilisation -> pas de découpage fonctionnel
    Par ribz33 dans le forum Cas d'utilisation
    Réponses: 13
    Dernier message: 25/08/2006, 16h26
  5. [SQL] affichage en cas de requete ne rapportant pas d'enregistrement
    Par ph_anrys dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 12/07/2006, 10h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo