Eredmény: 1 - 6 (6) összesen

Téma: php include = fura karakterek

  1. #1
    Bölcs
    Csatlakozott
    10-01-15
    Hely
    Győr
    Hozzászólás
    589
    Begyűjtött 32 köszönetet
    30 hozzászólásával

    Üzenet php include = fura karakterek

    Van egy md5 hash scriptem.

    Először is van a motor
    PHP kód:
    <?php
    $file_path 
    $_POST['file'];
    $begin microtime(true);
    $hash md5_file($file_path);
    $end microtime(true) - $begin;
    echo 
    "Hash = $hash; time = $end<br>";
    ?>

    Ha simán lefuttatom a motort akkor tökéletesen lefut a végeredmény:
    Hash = 93fd4648f1d7314f1f598276d2abb6b5; time = 0.392518043518


    De amikor includeolni akarom ebbe a php-be akkor végeredmény
    Hash = 93fd4648f1d7314f1f598276d2abb6b5; time = 0.408075094223

    Mi az a  az elején és ,hogyan került oda ?


    EBBE INCLUDEOLTAM
    PHP kód:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html lang="hu">
    <head>
    <link rel="stylesheet" href="http://sarkanydavid.eu/css/1.css" type="text/css">
    <meta http-equiv="content-style-type" content="text/css">
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
    <title>MD5 Elenőrző</title>

    </head><body>
    <table id="fotable" cellspacing="0" cellpadding="0" width="91%" height="455">
    <tr>
    <td class="szelek"> <img src="http://sarkanydavid.eu/pic/fboldal2.png" width="12" height="12" alt="fb"></td>
    <td id="foldal" class="felal" colspan="3"></td>
    <td class="szelek"> <img src="http://sarkanydavid.eu/pic/fjoldal2.png" width="12" height="12" alt="fj"></td>
    </tr>
    <tr>
    <td id="boldal" class="baljobb" rowspan="4" height="431"></td>
    <td class="egyeb" colspan="3"><h1>&nbsp;</h1></td>
    <td id="joldal" class="baljobb" rowspan="4" height="431"></td>
    </tr>
        <tr>
            <td class="egyeb" colspan="3">
                <p>&nbsp;</p>
            </td>
        </tr>
        <tr>
            <td class="egyeb" colspan="3">
                <h1>MD5 Ellenőrző</h1>
                    <table style="width: 100%" align="center">
                        <tr>
                            <td>&nbsp;</td>
                            <td><form action="md5.php" method="post"></td>
                            <td>&nbsp;</td>
                        </tr>
                        <tr>
                            <td>&nbsp;</td>
                            <td><?php include("md5.php"); ?></td>
                            <td>&nbsp;</td>
                        </tr>
                        </table>
                </form>
                <p align="center">&nbsp;</p>
            </td>
        </tr>
    <tr>
    <td class="egyebek" height="26">&nbsp;</td>
    <td class="egyebek" height="26">&nbsp;</td>
    <td class="egyebek" height="26">&nbsp;</td>
    </tr>
    <tr>
    <td class="szelek"><img src="http://sarkanydavid.eu/pic/lboldal2.png" width="12" height="12" alt="lb"></td>
    <td id="loldal" class="felal" colspan="3"></td>
    <td class="szelek"><img src="http://sarkanydavid.eu/pic/ljoldal2.png" width="12" height="12" alt="lj"></td>
    </tr>
    </table>

    <p id="copyright">Copyright &copy; &nbsp;D&amp;J Team</p>
    </body>
    </html>

    De ha egy sima php-be include-olom akkor megint csak rendesen lefut és a végeredmény:
    Hash = 93fd4648f1d7314f1f598276d2abb6b5; time = 0.392518043518

    PHP kód:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Névtelen 1</title>
    <style type="text/css">
    .style1 {
        text-align: center;
    }
    </style>
    </head>
    <body>
    <p class="style1"><?php include("md5.php"); ?></p>
    </body>
    </html>



    Utoljára módosítva: dragon1993 által : 2011-06-28 23:28

  2. #2
    Új tag
    Csatlakozott
    11-04-16
    Hozzászólás
    3
    Begyűjtött 0 köszönetet
    0 hozzászólásával

    Alapbeállítás re: php include = fura karakterek

    Hexa editorral érdemes lenne ránézni mindkét fájlra, valószínűleg abban látni fogod, hogy melyik elején van az a 3 karakternyi szemét.
    Linkelni editort nem tudok, de gugliban első találat hex editor



  3. #3
    problémageneráló ptrth logója
    Csatlakozott
    11-01-04
    Hely
    Diliház
    Hozzászólás
    209
    Begyűjtött 0 köszönetet
    0 hozzászólásával

    Alapbeállítás re: php include = fura karakterek

    Eléggé karakterkódolási hibának tűnik. A weboldaladban "charset=iso-8859-2" van, a php pedig több, mint valószínű, hogy úgy van beállítva, hogy utf-8-ként kezeli. Cseréld a html-ben a "charset=iso-8859-2"-t "charset=utf-8"-ra, és nézd meg, hogy mi történik.

    Másik lehetőség, hogy ha pl. a md5.php-t Notepadban mentetted el UTF-8-ként (A notepad beteszi a fura karaktereket az elejére), akkor elmented úgy, hogy a mentés máskéntnél ANSI-t választasz ki UTF-8 helyett


    Utoljára módosítva: ptrth által : 2011-06-28 23:31

  4. #4
    Új tag
    Csatlakozott
    11-04-16
    Hozzászólás
    3
    Begyűjtött 0 köszönetet
    0 hozzászólásával

    Alapbeállítás re: php include = fura karakterek

    Szerintem a karakterkódolás állításával már semmire sem megy, valószínűleg már az editorban csesződött el a dolog (pl.: UTF-8-ban mentet és iso8859-2). Hexa editorral szépen ki lehet szedi a fájl elejéről a bekerült 3 karakternyi szemetet.



  5. #5
    Bölcs gjoe logója
    Csatlakozott
    11-03-19
    Hely
    Budapest
    Hozzászólás
    841
    Begyűjtött 77 köszönetet
    53 hozzászólásával

    Alapbeállítás re: php include = fura karakterek

    Olyankor szokott, ha UTF-8-ban mentesz, de valami miatt Windows-1250-ben nyitod/jeleníted meg. (Ez nem jelenti feltétlenül, hogy nem tudja kezelni a helyzetet az alkalmazás! Csak nem jól jelenít meg.)

    ez a dtz nem más mint a UTF8 -as fájl BOM része.

    Nálad felesleges, úgyhogy vagy mentsd el UTF8 BOM nélkülibe vagy ANSI-ba ( ajánlott program Notepad++ - Formátum menüpont )

    Inkább ANSI mert 'ISO-8859-2' -hez jobban illik.

    PHP esetén küldj ki egy headert-is a kódolással, úgy már jobb lesz.

    forrás
    HTML kód:
    prog.hu




  6. #6
    problémageneráló ptrth logója
    Csatlakozott
    11-01-04
    Hely
    Diliház
    Hozzászólás
    209
    Begyűjtött 0 köszönetet
    0 hozzászólásával

    Alapbeállítás re: php include = fura karakterek

    A hexa editor jelen esetben az ágyúval a verébre lövés tipikus esete.

    Abban igazad van, hogy valószínűleg az editorban csesződött el a dolog, de ezt Win alatt akár Notepad-ban, akár Notepad++ -ban igen könnyen tudja korrigálni, előbbiben egy mentés másként --> ANSI-val, utóbbiban "Convert to ANSI"-val, vagy "Convert to UTF-8 without BOM"-mal.



A téma címkéi:

Könyvjelzők

Hozzászólás szabályai

  • Új témákat nem hozhatsz létre
  • Válaszokat nem küldhetsz
  • Fájlokat nem csatolhatsz
  • A hozzászólásaidat nem módosíthatod
  •