gzcompress()
たとえば、phpで渡された値を使用します。
$value=gzcompress("hello");
myphp.php?q=$value;
それから私はgzuncompress()
それでmyphp.php
:
$q=$_GET["q"];
gzuncompress($q);
しかし、私はこの警告を受け取ります:
gzuncompress(): data error
なぜこれが機能しないのですか?
gzcompress()
たとえば、phpで渡された値を使用します。
$value=gzcompress("hello");
myphp.php?q=$value;
それから私はgzuncompress()
それでmyphp.php
:
$q=$_GET["q"];
gzuncompress($q);
しかし、私はこの警告を受け取ります:
gzuncompress(): data error
なぜこれが機能しないのですか?
圧縮されたデータを urlencode() する必要があります。そのような URL に、本質的にランダムに見えるバイナリ ガベージを平手打ちすることはできません。圧縮データ内の文字の少なくとも 1 つが URL メタ文字である可能性は高く、たとえば、デコード+
時' '
に (スペース) 文字にマングルされます。そう、
$value = urlencode(gzcompress('hello'));
PHP は、$_GET を設定するときに URL のデコードを自動的に行うため、デコードの最後は次のようになります。
$q = gzuncompress($_GET['q'])
従来通り。