(PHP)解压缩并重命名CSV文件?

时间:2017-05-17 09:08:27

标签: php csv type-conversion unzip gunzip

我想从一些发布商处下载不同的Feed。但可怜的是,它们首先被压缩为.gz,而第二个不是正确的格式。您可以下载其中一个Feed并查看它。他们没有任何文件规范...所以,我被迫自己添加.csv ..

我现在的问题是,如何从不同的网址解压缩这些文件? 我知道如何重命名它们。但是我如何解压缩它们呢?

我已经搜索过它并找到了这个:

//This input should be from somewhere else, hard-coded in this example
$file_name = '2013-07-16.dump.gz';

// Raising this value may increase performance
$buffer_size = 4096; // read 4kb at a time
$out_file_name = str_replace('.gz', '', $file_name); 

// Open our files (in binary mode)
$file = gzopen($file_name, 'rb');
$out_file = fopen($out_file_name, 'wb'); 

// Keep repeating until the end of the input file
while (!gzeof($file)) {
    // Read buffer-size bytes
    // Both fwrite and gzread and binary-safe
    fwrite($out_file, gzread($file, $buffer_size));
}

// Files are done, close files
fclose($out_file);
gzclose($file);

但是使用这些Feed它不起作用...... 这里有两个示例文件:file one | file two

你知道吗? - 非常感谢! 问候!

1 个答案:

答案 0 :(得分:0)

windows 10 + php7.1.4它的工作。

以下代码具有相同的效果。

ob_start();
readgzfile($file_name);
file_put_contents($output_filename', ob_get_contents());
ob_clean();

或者您可以尝试使用gzip命令进行解压缩,然后使用它。 Program execution Functions