gzinflate erroring

1 Cevap

Eh, ben eval(gzinflate('deflated_code')); ile kullanmak için, dağıtım için bazı çok düşük seviye şifreleme gerçekleştirmek için kodumu gzdeflate çalışıyorum

Ben sönük dize şişirmek için çalışın, ancak zaman, bir hata verir.

Örneğin:

echo(gzdeflate('test')); çıkışları +I-.�

Ama ben echo(gzinflate('+I-.�')); sadece çıkışları Warning: gzinflate() [function.gzinflate]: data error çalıştığınızda

Kaçırdığım bir şey var mı? Neden ziyade bu hata çıktısı test?

1 Cevap

Çıkışı

$s = gzdeflate('test');
for ($i=0; $i<strlen($s); $i++) {
  printf("%02X ", ord($s[$i]));
}

is 2B 49 2D 2E 01 00. The last two bytes 01 00 are in this case the tricky part.
You used echo to print the result "string". What was the output medium?
When I copy the string +I-.� via ultraedit into the script the output is 2B 49 2D 2E 3F. A different result and the cause for gzinflate() to bail out.

Eğer gerçekten () bu basılamaz karakterler ya bunun için kaçınılması veya uygun bir biçimde kodlanmış bir şekilde sonuç kodlamak zorunda gzdeflate sonucu tüm olası "karakterleri" göstermek değil bir ortamda verileri görüntülemek için varsa ortam, örn via base64_encode().