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 :

Fichier mal lu par PHP


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 22
    Points : 11
    Points
    11
    Par défaut Fichier mal lu par PHP
    Bonjour,

    J'ai un souci avec ce bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        $fp = fopen($sourcefile, 'rb'); 
        $content = fread($fp, filesize($sourcefile)); 
        fclose($fp);
    '$content' ne contient pas tout les caractères du fichier 'sourcefile'.

    Fichier lu :
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    %PDF-1.4
    %Çì¢
    5 0 obj
    <</Length 6 0 R/Filter /FlateDecode>>
    stream
    xœ•ÍJD1F÷yŠîl„“ô'ÍVqãÐÝàjÔYÝÅŒ¾?v.ŽÞ…‚6”çKzL¢Ïuiö3pØŒ{€#4Jç³€u¿ŸÃm‡›*…aõW`r÷,
    “`L-XeÊ¡Ï°‹™jfÖ_0‘åø†“ª»Åwœ”¤–>õ{4äþXýz·8%J^Jt2aOñ„JK|L‰Ù/Ðô3ãWw8LêÙÇ'œŒt¥ó"Íþµ¬$m%mP¨Xá?ý™ýi<Wp×áqÔÊf[endstream
    endobj
    6 0 obj
    209
    endobj
    4 0 obj
    <</Type/Page/MediaBox [0 0 595 842]
    /Rotate 0/Parent 3 0 R
    /Resources<</ProcSet[/PDF /Text]
    /Font 8 0 R
    >>
    /Contents 5 0 R
    >>
    endobj
    3 0 obj
    << /Type /Pages /Kids [
    4 0 R
    ] /Count 1
    >>
    endobj
    1 0 obj
    <</Type /Catalog /Pages 3 0 R
    /Metadata 9 0 R
    >>
    endobj
    8 0 obj
    <</R7
    7 0 R>>
    endobj
    7 0 obj
    
    <</BaseFont/Times-Roman/Type/Font
    /Subtype/Type1>>
    endobj
    9 0 obj
    <</Type/Metadata
    /Subtype/XML/Length 1692>>stream
    <?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
    <?adobe-xap-filters esc="CRLF"?>
    <x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
    <rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
    <rdf:Description rdf:about='0b11d82f-4c57-11de-0000-0c16b9e08ffa' xmlns:pdf='http://ns.adobe.com/pdf/1.3/'><pdf:Producer>GPL Ghostscript 8.64</pdf:Producer>
    <pdf:Keywords>()</pdf:Keywords>
    </rdf:Description>
    <rdf:Description rdf:about='0b11d82f-4c57-11de-0000-0c16b9e08ffa' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2009-05-26T15:45:50+02:00</xmp:ModifyDate>
    <xmp:CreateDate>2009-05-26T15:45:50+02:00</xmp:CreateDate>
    <xmp:CreatorTool>\376\377\000P\000D\000F\000C\000r\000e\000a\000t\000o\000r\000 \000V\000e\000r\000s\000i\000o\000n\000 \0000\000.\0009\000.\0008</xmp:CreatorTool></rdf:Description>
    <rdf:Description rdf:about='0b11d82f-4c57-11de-0000-0c16b9e08ffa' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='0b11d82f-4c57-11de-0000-0c16b9e08ffa'/>
    <rdf:Description rdf:about='0b11d82f-4c57-11de-0000-0c16b9e08ffa' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>\376\377\000t\000e\000s\000t</rdf:li></rdf:Alt></dc:title><dc:creator><rdf:Seq><rdf:li>\376\377\000s\000n\0003\0003\0009\0003\0003\0007</rdf:li></rdf:Seq></dc:creator><dc:description><rdf:Seq><rdf:li>()</rdf:li></rdf:Seq></dc:description></rdf:Description>
    </rdf:RDF>
    </x:xmpmeta>
    
    <?xpacket end='w'?>
    endstream
    endobj
    2 0 obj
    <</Producer(GPL Ghostscript 8.64)
    /CreationDate(D:20090526154550+02'00')
    /ModDate(D:20090526154550+02'00')
    /Title(\376\377\000t\000e\000s\000t)
    /Creator(\376\377\000P\000D\000F\000C\000r\000e\000a\000t\000o\000r\000 \000V\000e\000r\000s\000i\000o\000n\000 \0000\000.\0009\000.\0008)
    /Author(\376\377\000s\000n\0003\0003\0009\0003\0003\0007)
    /Keywords()
    /Subject()>>endobj
    xref
    0 10
    0000000000 65535 f 
    0000000513 00000 n 
    0000002440 00000 n 
    0000000454 00000 n 
    0000000313 00000 n 
    0000000015 00000 n 
    0000000294 00000 n 
    0000000606 00000 n 
    0000000577 00000 n 
    0000000672 00000 n 
    trailer
    << /Size 10 /Root 1 0 R /Info 2 0 R
    /ID [<47C1F471EF4AF5B9782A12E2E29848CF><47C1F471EF4AF5B9782A12E2E29848CF>]
    >>
    startxref
    2820
    (X remplace un caractère que je n'ai pas pu coller ici, si ça peut vous donner de idées)

    Echo de '$content' :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    %PDF-1.4 %Ç쏢 5 0 obj <> stream xœ•ÍJD1 F÷yŠîl„“ô'ÍVqãÐÝàjÔYÝÅŒ¾?v.ŽÞ…‚6”çKz L¢Ïuiö3pØŒ{€#4Jç³€u¿ŸÃm‡›*…aõW`r÷, “`L-XeÊ¡Ï°‹™jfÖ_0‘åø†“ª»Åwœ”¤–>õ{4äþýz·8%J^Jt2aOñ„JK|L‰Ù/Ðô3ãWw8LêÙÇ'œŒt¥ó"Íþµ¬$m%mP¨Xá?ý™ýi> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 8 0 obj <> endobj 7 0 obj <> endobj 9 0 obj <>stream GPL Ghostscript 8.64 () 2009-05-26T15:45:50+02:00 2009-05-26T15:45:50+02:00 \376\377\000P\000D\000F\000C\000r\000e\000a\000t\000o\000r\000 \000V\000e\000r\000s\000i\000o\000n\000 \0000\000.\0009\000.\0008 \376\377\000t\000e\000s\000t\376\377\000s\000n\0003\0003\0009\0003\0003\0007() endstream endobj 2 0 obj <>endobj xref 0 10 0000000000 65535 f 0000000513 00000 n 0000002440 00000 n 0000000454 00000 n 0000000313 00000 n 0000000015 00000 n 0000000294 00000 n 0000000606 00000 n 0000000577 00000 n 0000000672 00000 n trailer << /Size 10 /Root 1 0 R /Info 2 0 R /ID [<47C1F471EF4AF5B9782A12E2E29848CF><47C1F471EF4AF5B9782A12E2E29848CF>] >> startxref 2820 %%EOF
    J'espère que quelqu'un aura une idée de l'origine de mon problème, moi j'ai épuisé ma réserve :s

    Merci d'avance.

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 215
    Points : 558
    Points
    558
    Par défaut
    Sachant que ton fichier est (partiellement du moins) binaire, je serais toi, je me méfierais très fort d'une sortie écran, qui va forcément te bouffer des caractères (c'est classique).

    Pour savoir si PHP a fait ce que tu as voulu, regarde la longueur de ta chaîne, puis la taille du fichier en nombre exact d'octets. Normalement les deux tailles devraient être identiques.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    Oui tu as raison je viens de vérifier, les deux sont de la meme taille.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo filesize($sourcefile).'</br>';
    echo strlen($content);
    Cependant le traitement que j'effectue après sur cette chaine ne fonctionne pas, alors qu'il fonctionne avec ce fichier là :
    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
    17
    18
    19
    %PDF-1.2 
    %âãÏÓ
     
    8 0 obj
    <<
    /Length 9 0 R
    /Filter /FlateDecode 
    >>
    stream
    H‰*WÛr"7ý‚ù½Å›*duë6³oØLv½E ñf7åÊƧì`»’ϏÔÒF“‡¸ü‚9ê«NŸMÀKÅT%¸DÆšI!˜ÿÛ}cÅùO‚äJ¹ïï‹‘àµvŸo™à€•?þ7;«ÿyº‘î^·Ïìîõý;ÖüYÔMñ+ÀVK¦´áè’+ïÙnÍ~c[V\4T’¦âÒP
    ¸Æ.0ˆ’ûÏÊyöºñ‘wìnÝÆü•ù°ÊJ.ÔpXUZ_Ú[†[rWˆBßKpÎyeŽkEwBùï31!Ä!Úíãf³Úžˆ\›ÁPª4þ›ÿë‚âdt0n*n:'Æ`$…VER|iƳ	»9c¿#»yG¡‡'ÔNQš®µ(ðÀlQ×_¢	¨½	âÞD˜hr9ž^Ô‹å|Æšùõby	¥Pi‘Ÿæ_Ç×t¬ù1¸’I&úÄí¢žÍê%ƒÖäž\+ÛöÄ”˜f“«OóYO?Ô¾‹Ðvqéòãx:Ÿ-Ó´%@k P“z|ݶq(ºPÿqa°¿04]‚ T;ûÂj›–4ýÚ_QwN/«³‰ÕhÓUƒV¦ÞݵNç×Ë:=˜¡ì!ÂÞÂ
    °‚ÇbÇ€.=åÇÓjG†£h9B“Z¦Ì·e×HU4òóxzµ¬ûÙŸä_žäiõËxZ7M}p馻88iéøóÕ‡YìjP_)5©¯%Y’"We*RU¤¿N3“	?è˜ýˆT*ð_þ±Ú}[oÖÛv¿zx9(ƒ)ðph£h½¼ahïÂ:A}ºç»ßNgðÖìVÛç§ÇÝËúu÷L¾”ò01î|ɳˏA4-—nž<ð=(§²>VgmUà©Dë =ù×1$]Èix|›ð#	ÚßJI;¤	ë¹ÒR[™.êxñ¡þ¹ž5d+]s`o—„’{Sq ~YÞÓÆ\oo×ïY=v$Ô¹	UU~Ê4”Þ·Û’Žß´˜S¶”&œé66)Çáå¹óNՏXaȳ–*q	ÝDiŒƒ8Y½¬ÙÝ«§§ï·+ÿªé^4.”š)ännµð.]†÷
    ÷ÄP¥§
    *:¼Â€9¥æÖDºG*±Mý*º
    B]?ÜÈDSoãŠw¸ÇDl™ËžGLb’!Ñ"$$*zôòÕ¢mHå®BÕpm¨ì‚†Bƒ¥rT4I)Føÿ3nMèVº¡¥($aXzâ��ZwÚ™A%ÐÓ5‡º'`ÖT	¤\XªTöVªuÖÌå?çÐÐ…Z™JCBŽ'.‹ˆo¾ˆÉ
    ò˜£Ys2œÅárVùæsA•Ï1Ÿ
    æsÏ0Ÿ
    ˆ|.6ŸŠ¸!á÷à1›Â,dªH¥’ѐè¿S#?dS?hâ¡:p«ÕñPõ›Æ™ê>D§A¬’\#÷3Ni3>Ã$��ƒ~Ø2õ‡yé]ýFÚrn
    z=¤ŒcëÀïí²w
    (la encore des caracteres que je ne peux pas coller)
    (Je c'est que c'est pas la meme version de pdf, mais mon code fonctionne pour 1.2 , 1.3 et 1.4 normalement)

Discussions similaires

  1. [PDF] Envoyer en PDF le fichier HTML généré par PHP
    Par sebhm dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 04/03/2009, 22h55
  2. fichier .txt généré par PHP
    Par boteha dans le forum Langage
    Réponses: 2
    Dernier message: 27/03/2008, 11h01
  3. Réponses: 3
    Dernier message: 21/06/2006, 23h23
  4. Réponses: 7
    Dernier message: 18/03/2006, 13h16
  5. [Directives] Fichier php.ini completement ignore par PHP
    Par kevos dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 07/02/2006, 17h14

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