Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $data = file_get_contents('log.txt');
- // ヘッダ部分を取り除く
- $data = explode("\r\n\r\n", $data, 2)[1];
- $tmpfile_name = tempnam(sys_get_temp_dir(), 'chunked_gunzip');
- $out_file = fopen($tmpfile_name, "w");
- // とりあえず先頭3回分だけ
- foreach (range(1, 3) as $dummy) {
- // 最初の改行で2つに分割する
- list($size, $data) = explode("\r\n", $data, 2);
- // サイズを16進数から10進数に変換
- $size = base_convert($size, 16, 10);
- // サイズ分だけ読み込む
- $part = substr($data, 0, $size);
- // とりあえず一時ファイルに書き出す
- fwrite($out_file, $part);
- // サイズ+2(改行コード)の位置から続き
- $data = substr($data, $size + 2);
- }
- fclose($out_file);
- $in_file = gzopen($tmpfile_name, "r");
- while (!gzeof($in_file)) {
- echo gzgetc($in_file);
- }
- gzclose($in_file);
Advertisement
Add Comment
Please, Sign In to add comment