(PHP) 解压缩并重命名 CSV 文件?
(PHP) Unzip and rename CSV files?
我想从一些发布者那里下载不同的提要。但不幸的是,它们首先被压缩为 .gz
,其次压缩格式不正确。您可以下载其中一个供稿并查看。他们没有任何文件规范...所以,我不得不自己添加 .csv
..
我现在的问题是,如何从不同的 url 中解压缩这些文件?
我知道如何重命名它们。但是我该如何解压它们呢?
我已经搜索过了,找到了这个:
//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);
但是对于那些提要,它不起作用...
这里有两个示例文件:file one | file two
你有什么想法吗? - 将不胜感激!
您好!
windows 10 + php7.1.4 成功了。
以下代码效果相同
ob_start();
readgzfile($file_name);
file_put_contents($output_filename', ob_get_contents());
ob_clean();
或者你可以尝试使用gzip命令解压,然后再使用。
Program execution Functions
我想从一些发布者那里下载不同的提要。但不幸的是,它们首先被压缩为 .gz
,其次压缩格式不正确。您可以下载其中一个供稿并查看。他们没有任何文件规范...所以,我不得不自己添加 .csv
..
我现在的问题是,如何从不同的 url 中解压缩这些文件? 我知道如何重命名它们。但是我该如何解压它们呢?
我已经搜索过了,找到了这个:
//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);
但是对于那些提要,它不起作用... 这里有两个示例文件:file one | file two
你有什么想法吗? - 将不胜感激! 您好!
windows 10 + php7.1.4 成功了。
以下代码效果相同
ob_start();
readgzfile($file_name);
file_put_contents($output_filename', ob_get_contents());
ob_clean();
或者你可以尝试使用gzip命令解压,然后再使用。 Program execution Functions