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 :

Compresser au format TMX (base64 gz)


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 35
    Points : 27
    Points
    27
    Par défaut Compresser au format TMX (base64 gz)
    Bonjour,

    J'ai des exemples de fichier PESAller dédiés au paiement trésorerie dans lequel il y a des pièces jointes compressés.
    Cette compression commence par les caractères H4sIAAAAAAAAC.
    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    <PJ>
    <Contenu>
    <Fichier MIMEType="application/pdf">
    H4sIAAAAAAAAC9S8BVxU2/rHTUpLS8MgEgIys/cwMIN0SksJSjcoHRJSoiIIgkorClIK0iCikhIiSkt3KSXd+Q547rnnHPe9/3vez/38/+/L6Oy1n5W/9ay9vw9rNsN9UV7xHCCEoiDlfo39oSAFYAiYs8VVClJxcbiuj4s1XM7cw9zB2RZ+0dzW2h0GYrO14WrmTrZ8Nm7nFLXPwuA6Hm6elh66btbW2s7OHjBQ9LiIurnb/dHXgqB9yfzk/p3cPjpvT3766vP335/CfRe/N
     
    .......
     
    /Zvvw9fTw6+oy0qVb8e388+ryZP8MnUNy9zz0bw/oWHUFfwAA
    </Fichier>
    </Contenu>
    <IdUnique V="2457000113REC202024042"/>
    <NomPJ V="facuration08.pdf"/>
    <TypePJ V="002"/>
    <Description V="facuration08"/>
    </PJ>

    Après plusieurs recherches, se serait une compression TMX et j'ai trouvé le code ci-dessous, qui fonctionne, pour les décompresser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $base64content = "H4sIAAAAAAAAC+3bORKAIB.....";
    $compressed = substr( base64_decode($base64content), 10);
    $content = gzinflate($compressed);

    J'ai besoin de pouvoir créer ce type de pièces jointes compressées pour l'intégrer dans mon fichier xml, mais n'arrive pas à trouver l'inverse du code ci-dessus.

    Merci pour votre aide
    le problème avec les idées derrière la tete, c'est que l'on ne peux pas les voir

  2. #2
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2020
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2020
    Messages : 34
    Points : 115
    Points
    115
    Par défaut
    Salut,
    Je ne m'y connais pas vraiment mais je suis tombé sur ça.

    Est-ce que dans le cas présent tes substr + gzinflate ne pourraient pas être remplacés par gzdecode (disponible depuis PHP 5.4)?
    Si c'est le cas, la fonction inverse pourrait être gzencode qui ajoute apparemment des données d'entête, etc.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 35
    Points : 27
    Points
    27
    Par défaut PARFAIT
    Bonjour,

    Un grand merci, en effet, on peut simplement utiliser gzdecode() et gzencode().

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $base64content = "H4sIAAAAAAACC5VVCVATVxhmUFCCT......";
    $content = gzdecode(base64_decode($base64content));
    file_put_contents("asap.pdf",$content);
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $b64=base64_encode(gzencode($doc, 9));
    le problème avec les idées derrière la tete, c'est que l'on ne peux pas les voir

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/12/2015, 22h37
  2. Lire un fichier txt compressé au format gzip
    Par pascalbout1 dans le forum Langage
    Réponses: 1
    Dernier message: 11/12/2007, 10h28
  3. Compression au format zip ou rar
    Par ZIED dans le forum Delphi
    Réponses: 5
    Dernier message: 05/07/2007, 14h25
  4. Compression vidéo format dvd
    Par Mut dans le forum Vidéo
    Réponses: 6
    Dernier message: 25/08/2005, 10h48
  5. Compression de données au format Zip avant sauvegarde
    Par arnaud_verlaine dans le forum C++Builder
    Réponses: 4
    Dernier message: 16/09/2004, 16h40

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