[php] hex data 2130 bytes, weggeschreven 2139 bytes?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hai mensen.

Ik heb het volgende script gemaakt om een bestand om te zetten naar data voor een php script (deze wordt in php omgezet) en wanneer je het script draait zal het de data omzetten tot weer de binarie gegevens en daarna saven naar een bestand.. (zie code).

PHP:
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
<?

function hexstr($hex)
{
    $string = "";
    for ($i = 0; $i < strlen($hex) -1; $i += 2)
    {
       $string .=             chr(hexdec($hex[$i] . $hex[$i + 1]));
    }
    return $string;
}

$d = array();
$buffer = "";

$d[0]='504b03041400000008009088692f35dc984cd6070000b41b00000d00000048545450436c6173732e636c73ad59eb6fe24610';
$d[1]='ff1e29ffc3ca6aef6cd5b9c2f52ab5556965c024a8c42070d2c71764600157c6a65efb92f4afefcc3eecf58b44a7a208ccce';
$d[2]='63e7373baf258fee72359d7ba4ffa147463367b5babe1abab753effa8a90fb3ccac20746c980dcf40979efa739c5f5054d59';
$d[3]='c8b2601321a907142fc9b445e4190759300ce35d181f86f4187c0e9354f27ede78495cf0ac923cddd282a5c173efaffc3488';
$d[4]='59b0cdc224be4f7694947b3a3190e79bbfe936bbbe72bdf1f595936569b8c9334a1e876b2f38a181c69def2f4651c0985163';
$d[5]='b88d924d1021dbea1c6c917712448cd6b846290d1458e1820a7991d21ddd46017c4c771d2adce773c2a8469d9f110e81f528';
$d[6]='dc8660fdf5d522dfc03371e3fc44e8224933844fa69eef2e3dd75f8fdd89f330f3d70866bd982f7d50f643af9b67a5983e7d';
$d[7]='fa0e9c13efb866be511a7e0ec0ae5112b3ac149e2f5c6fedffb970d7e3e9d21da168bf9379e52e1fa72397ef048cdf5dd03b';
$d[8]='9939b7ebc5d2b9bd77d6de7ce48cee5c907877d7eff52ecbfce6ba8bf568ee79600c86280a7deae1ebb2dcca1d3d2cc51e3f';
$d[9]='bc817db29cdfaf2b66bd2ee3cd85c4faf7e5d47735cb5e915bbab3b933d64c4381bac8f061327197eb99ebddfa77c4616496';
$d[10]='c4073c8ddec74f3af758441d99e4314f0e328d339ac6349b9f694c66e186184f611cc2c2875d1419c489c2801143e7720c62';
$d[11]='0e5f1e838838071a67b8d90ac2363ed8442e6fb79431ffe54c95218ab24893e7179e610d214e1abe9c21e39ac449141c9852';
$d[12]='66a98737a002e7c490e8af03938c25b6a3a2ac000baaac4159d1f4334ddbb1081aa623d250d181a68a08b5b1436c01d89f92';
$d[13]='74d7ae30dc36dc59718b5a0424197dcebec85b11149cbb20de41d96a7aac740cad6a1f26494483f84d61b6a4c16e125ed4af';
$d[14]='ceac866b98eff7346dfac6cb4f1b9acef7c3978c323fc10d4ad10a5127bdd9f0bb2c3b63d42fe93f39651722a9c6a8451252';
$d[15]='3aa2e891a69b2624d19dda83e4115ba65054252c29b8a7cd41988ee70cd3b1112bb500fa82d011d8e2dd9bdca331d6dca3c4';
$d[16]='6bf6ddc18901de26264998d1f8901deb524c344a84def0aca45405bb82e1c83b55c3092a42b5f36c16e4c9d49d8d57ebeeba';
$d[17]='dc21e039f7ee7aea8ddd3f34ee2ee64767f6d0e4ee57021aced48db73003991fbfffbe0be924a4d16e94e471d6847be24466';
$d[18]='5aa53bb5d103eaf699a6d90b994155909cf5c805cfe7da8285e2308228c54d3036b9a519a74ee31d7de60a6d3e47591600e4';
$d[19]='fa50094e28ca80369b6ebb6caa610163c6e18944257858e16f116cd7660b1fc92c3149ed81eb179c76fd238df912bcc4b620';
$d[20]='7d09652434208ce9fe02a022ddb0c060509aa2c5e84e2e825ef51d3e0f8201ddd3a026d4d6954a8d8dc6548d23e52cd13f40';
$d[21]='7bb97494c39e3e40987cb806ee10c607c3ee9e266d02337d1e45caa0eab75ee17eb1c9cfbfc088af1f819ea783fa48607221';
$d[22]='5bf66afba2979473ecc2131abf3ed58251855dd234cd868681f052075a5c13c4b2cb07fe82abad411f0b474bb4524dafd021';
$d[23]='a3aafa28624c05941663ab7c531ea0293188f7d770b49a570a0836cd06a9b67a3ebdfa8e1ccfabdb945e68d9a07489800d18';
$d[24]='dbb24aeb4bb229f111a52d15ee69764cb444c0abe2adeb1b1a4b4b23d66851228610993cf2dcdbebd1b1d6160b425a4f3f5c';
$d[25]='ac0f48054134cb1682a6be4659cc573edeb45b85d8197a106d25950356b15899316408c29b74e4803c8c0246bf32c5771176';
$d[26]='caae01600a2375349c24410e08bf7c7f6556faab55aa8700821e6f4a518b3442765f5a60205aa39e99d26b40e663519cdde0';
$d[27]='08f51309ce78fd0ef040bf7dbe797a7abad927e9e9264f23cadbecced094147e1c101d056964380fb881f878478c5f0d78af';
$d[28]='4b74e4b3402323abd282b8e707f2739e5ebe5e37e8e2ded9badfb13ca1dad86b6a496d4b17db1c962d7e53f9b6ffa10fd962';
$d[29]='18bc5672d32aa55c696e16997d7dd83415b32d0fcbe6672e9e2dbb70be5856df6082a89d74aa7507753fd1748b90b3ab576c';
$d[30]='9b07bba569f9fd8867076906be32792620049d8390327906e5e33b306f9f4128cb7dea8aff3f0bc1752dc1443a2aab1e7ef5';
$d[31]='00d047fe128aa4371a8c1a3255bd6d0e54adc5d2d9e99552bb8df07d3a06b64992f2a10d8227d1c7da1b1c8b25da3dee354a';
$d[32]='4e6739ccd546b47204c7090dc70e1f6e45c80f571f4be8ae4650051030441acd7d0e33cd1d72b1f4a707ba2b998cb06b81af';
$d[33]='e180823984879d298db6c9c746402f29afe1296538dc14f0fa769bec37ad5715abc552d218d9754f9536a28bd0b14aa8ee9d';
$d[34]='92b3a8543a3eedcb37f2d0f46259d776d36f46e8ab11a8f795fac586b4c516ae309d8fbc3ddeb0063348f387e54cdec42e06';
$d[35]='9c850d60605c12a85d22b8c43b430b27154b58f858b3fbe9f0c138517f98add8c1f6b68b49cbd05838b434b53a36bcd5b71b';
$d[36]='710af83b4da7bf716ddb76061bc080dbf22feffd63c808fcedc39812e8cd84f7659cd5d8298822c2b83493cc8920531205e9';
$d[37]='819224a68c4c09cb0f07f4cd4b9293949e23fca19f91a7303b92ec48d5ecc7ff3fd08c0299641b0bf8e8997cd41259bb8d6f';
$d[38]='cca8d98a54a88c8ea96028d2b03a2e6cb1f342edacf010d584f018b716f9b9dcba94327a18595b5d466b0ba434c1f8bac2d8';
$d[39]='59b18a9347b957f24fdc31c069eb691c66611085ff52d36a0f0cbe262a9956c03a6a55e5101cb63501a68567c19f7f340a1f';
$d[40]='690710619d2a2e5d05a88a9640d3f2ef176b71342d7fbd594bf5cad2f0a04fd35318c35ae1403785495a394b3b09aee23f50';
$d[41]='4b010214001400000008009088692f35dc984cd6070000b41b00000d0000000000000001002000b681000000004854545043';
$d[43]='6c6173732e636c73504b050600000000010001003b000000010800000000';
// length = 2130.

$nLength = 0;
foreach($d as $key => $value)
{
    $nLength = $nLength + strlen(hexstr($value));
    $buffer .= hexstr($value);
}


echo $nLength . strlen($buffer); // geeft beiden 2130 weer

$fd = fopen("HTTPclass.zip", "w+");
fwrite($fd, $buffer, strlen($buffer));
fclose($fd);

echo filesize("HTTPclass.zip"); // geeft 2139 weer?
?>


Maar nu is het geval; het orginele bestand is 2130 bytes maar als ik het scriptje start en het bestand opsla is het opeens 2139 bytes? (9 bytes meer?).

Heeft iemand misschien een idee waar deze fout in zou kunnen zitten?

[ Voor 6% gewijzigd door Verwijderd op 07-10-2004 13:43 ]


Acties:
  • 0 Henk 'm!

  • Tjark
  • Registratie: Juni 2000
  • Laatst online: 18-09 23:26

Tjark

DON'T PANIC

Weet je ook _welke_ 9 bytes er meer zijn? (aan 't begin, einde, ergens anders?)

*insert signature here


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
erg raar; maar gewoon ergens midden in....

Ik heb even het orginele bestand online gezet

[ Voor 55% gewijzigd door Verwijderd op 07-10-2004 13:53 ]


Acties:
  • 0 Henk 'm!

  • Banpei
  • Registratie: Juli 2001
  • Laatst online: 25-10-2022

Banpei

Hachiroku on this touge?

213021302130
Bij mij doet jouw scriptje het prima. Maar ik werk ook op een bsd-workstation. Misschien iets van extra info op windows? :?

AE86 gevonden! | So what I thought I'd do was, I'd pretend to be one of those deaf-mutes.


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 21-09 02:21

Janoz

Moderator Devschuur®

!litemod

Maak van die "w+" bij het openen van die file eens een "wb+". Waarschijnlijk is windows de newlines aan het aanpassen (\n -> \r\n)

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
gatver, het is inderdaad de wb+. Thanks mensen!

http://www.phpfreakz.nl/library.php?sid=16236 (public scriptje; dus deel het ook graag met jullie)

[ Voor 53% gewijzigd door Verwijderd op 07-10-2004 21:04 ]

Pagina: 1