2017-05-17 8 views
0

いくつかの出版社から別のフィードをダウンロードしたいのですが。しかし、貧弱なのは、最初はすべて.gzとして圧縮され、2番目は適切なフォーマットではないということです。フィードの1つをダウンロードしてチェックアウトすることができます。彼らはファイル指定を持っていません...だから、私は自分で.csvを追加することを余儀なくされています。(PHP)CSVファイルを解凍して名前を変更しますか?

私の質問は今、別のURLからそれらのファイルを解凍できますか? 名前を変更する方法はわかります。しかし、どうすればそれらを解凍できますか?

私はすでにそれを検索し、この1が見つかりました:2つのサンプルファイルここで ...

//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

アイデアはありますか? - 非常に感謝しています! よろしくお願いいたします。

+0

このコードには何がありますか? –

答えて

0

windows 10 + php7.1.4 it's work。

次のコードは同じ効果があります。

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

また、gzipコマンドを使用して解凍してから使用することもできます。 Program execution Functions

関連する問題