2017-05-17 1 views
0

Ich möchte verschiedene Feeds von einigen Publishern herunterladen. Aber das arme Ding ist, dass sie zuerst als .gz gezippt werden und als zweites nicht im richtigen Format. Sie können einen der Feeds herunterladen und überprüfen. Sie haben keine Dateispezifikation ... Also bin ich gezwungen, die .csv von mir selbst hinzuzufügen.(PHP) Entpacken und umbenennen CSV-Dateien?

Meine Frage ist jetzt, wie kann ich diese Dateien von den verschiedenen URLs entpacken? Wie ich sie umbenenne, weiß ich. Aber wie entzippe ich sie?

ich schon danach gesucht und diese gefunden:

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

Aber mit denen speist es nicht funktioniert ... Hier ein zwei Beispieldateien: file one | file two

Haben Sie eine Idee? - Wäre sehr dankbar! Grüße!

+0

Was ist ein Fehler in diesem Code? –

Antwort

0

Windows 10 + php7.1.4 es ist Arbeit.

Der folgende Code hat den gleichen Effekt.

Oder Sie können versuchen, den Befehl gzip verwenden, um zu dekomprimieren, und verwenden Sie es dann. Program execution Functions