11

file_get_contents関数を使用して記述されたテキスト ファイルの内容全体を読み取ると同等の関数は何gzwriteですか?

4

5 に答える 5

23

これは、ストリーム ラッパーを使用する方が簡単です

file_get_contents('compress.zlib://'.$file);

https://stackoverflow.com/a/8582042/1235815

于 2016-02-05T12:43:38.940 に答える
2

それは明らかにgzread ..でしょうか、それともfile_put_contentsですか?

編集: ハンドルが必要ない場合は、readgzfileを使用してください。

于 2013-08-13T10:38:03.277 に答える
1

マニュアルのコメントに基づいて、探していた関数を作成しました。

/**
 * @param string $path to gzipped file
 * @return string
 */
public function gz_get_contents($path)
{
    // gzread needs the uncompressed file size as a second argument
    // this might be done by reading the last bytes of the file
    $handle = fopen($path, "rb");
    fseek($handle, -4, SEEK_END);
    $buf = fread($handle, 4);
    $unpacked = unpack("V", $buf);
    $uncompressedSize = end($unpacked);
    fclose($handle);

    // read the gzipped content, specifying the exact length
    $handle = gzopen($path, "rb");
    $contents = gzread($handle, $uncompressedSize);
    gzclose($handle);

    return $contents;
}
于 2013-08-13T11:34:42.850 に答える