(PHP) Разархивировать и переименовать файлы CSV?

Я хочу скачать различные каналы от некоторых издателей. Но беда в том, что они в первую очередь застегнуты как .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);

Но с этими каналами это не работает …
Вот два примера файлов: подать один | файл два

У тебя есть идея? — Был бы очень признателен!
Привет!

0

Решение

windows 10 + php7.1.4 это работа.

Следующий код имеет тот же эффект.

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

Или вы можете попытаться использовать команду gzip для распаковки, а затем использовать ее.
Функции выполнения программы

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]