0) { $a = explode('.', $chr); $chr = $a[0]; //print __LINE__.':i=' . $i . ',chr=' . $chr . ',unpacked=' . $unpacked . PHP_EOL; $unpacked -= ($chr * $factor); //print __LINE__.':i=' . $i . ',chr=' . $chr . ',unpacked=' . $unpacked . PHP_EOL; } else { $chr = $unpacked; $unpacked = 0; } //print 'chr=' . $chr . PHP_EOL; $decoded .= chr($chr); } } $decoded = gzuncompress($decoded); print 'Writing ' . strlen($decoded) . ' bytes to output ...' . PHP_EOL; file_put_contents('test.data.out' . ($__factor * 2), $decoded);