Ik probeer een .mht file te parsen en daarin zijn binaire files omgezet naar base64 en gechunckt volgende de RFC 2045 standaard.
Dus ik base64_decode erop losgelaten. Nou heb ik wel gelezen op een paar sites dat base64_decode onder win 32 soms maf kan doen. Maar die functie werkt wel goed.
Het vreemde is:
Ik gebruik een geencodeerde JPEG, als ik deze decodeer en naar de browser spuig dan krijg ik de jpeg te zien. Als ik de gedecodeerde gegevens via fputs (alias fwrite) naar een file (test.jpg) spuig en ik probeer deze te openen dan kan ie em niet lezen. In de browser krijg ik een [X] en in PSP zegt ie dat de file geen JPEG is.
Als ik in de file kijk dan zie ik ook een verschil met het orgineel (en met de file die ik krijg als ik "Save Picture As" kies als ik de gedecodeerde gegevens naar de browser spuig.) Ik zie dan een paar enters staan op plaatsen waar ie niet hoort te staan, voor de rest zie ik op het 1e gezicht niets.
Hoe kan dit. Ik dacht dat fwrite binary safe was... Iemand enig idee?
Voor de liefhebbers zal ik ook de data ff posten (als ik zoveel data kan posten hier)
Dit werkt dus niet:
Maar dit wel:
Dus ik base64_decode erop losgelaten. Nou heb ik wel gelezen op een paar sites dat base64_decode onder win 32 soms maf kan doen. Maar die functie werkt wel goed.
Het vreemde is:
Ik gebruik een geencodeerde JPEG, als ik deze decodeer en naar de browser spuig dan krijg ik de jpeg te zien. Als ik de gedecodeerde gegevens via fputs (alias fwrite) naar een file (test.jpg) spuig en ik probeer deze te openen dan kan ie em niet lezen. In de browser krijg ik een [X] en in PSP zegt ie dat de file geen JPEG is.
Als ik in de file kijk dan zie ik ook een verschil met het orgineel (en met de file die ik krijg als ik "Save Picture As" kies als ik de gedecodeerde gegevens naar de browser spuig.) Ik zie dan een paar enters staan op plaatsen waar ie niet hoort te staan, voor de rest zie ik op het 1e gezicht niets.
Hoe kan dit. Ik dacht dat fwrite binary safe was... Iemand enig idee?
Voor de liefhebbers zal ik ook de data ff posten (als ik zoveel data kan posten hier)
Dit werkt dus niet:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| <?php
// Lezen
$in = fopen("in.txt","r");
$enc = "";
while (!feof($in)) $enc .= trim(fread($in,4096));
fclose($in);
// Decoderen
$dec = base64_decode($enc);
// Bewaren
$uit = fopen("uit.jpg","w");
fputs($uit,$dec,strlen($dec));
fclose($uit);
?>
<html>
[img]"uit.jpg">
</html[/img] |
Maar dit wel:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| <?php
// Lezen
$in = fopen("in.txt","r");
$enc = "";
while (!feof($in)) $enc .= trim(fread($in,4096));
fclose($in);
// Decoderen
$dec = base64_decode($enc);
// Bewaren
$uit = fopen("uit.jpg","w");
fputs($uit,$dec,strlen($dec));
fclose($uit);
// Tonen
echo $dec;
?> |
[ Voor 58% gewijzigd door Verwijderd op 11-12-2002 14:31 ]