2017-12-23 4 views
0

Ich versuche, Daten von 3 separaten CSVs zu erhalten und die Daten in 3 separate Arrays im Code unterhalb der ersten 2 Arbeit gut, die dritte, die ein Klon der zweiten ist mit ein paar Details geändert, nicht ... warum?Wie man Daten von 3 externen CSVs in Arrays einfügt (Die ersten 2 funktionieren, 3 nicht)

Wie kann ich die dritte Arbeit auch bekommen?

// First one 

    $awd_fp = fopen('https://example.com/test1.csv', 'r'); 

    $awd_stocks_temp = array(); 

    while($awd_row = fgetcsv($awd_fp)) { 
     $awd_stocks_temp[] = $awd_row; 
    } 

    fclose($awd_fp); 

    // Second one 

    $aeo_fp = fopen('https://example.com/test2.csv', 'r'); 

    $aeo_stocks_temp = array(); 

    while($aeo_row = fgetcsv($aeo_fp)) { 
     $aeo_stocks_temp[] = $aeo_row; 
    } 

    fclose($aeo_fp); 

    // Third one 

    $hb_fp = fopen('https://example.com/test3.csv', 'r'); 

    $hb_stocks_temp = array(); 

    while($hb_row = fgetcsv($hb_fp)) { 
     $hb_stocks_temp[] = $hb_row; 
    } 

    fclose($hb_fp); 

    echo '<hr>'; 
    echo count($awd_stocks_temp) . '/'; 
    echo count($aeo_stocks_temp) . '/ '; 
    echo count($hb_stocks_temp); 
    echo '<hr>'; 
+0

Haben Sie überprüft, was Sie von 'test3.csv' zurückbekommen. Code sieht OK aus, also müssen es die Daten sein – RiggsFolly

+0

Sieht aus wie das Problem mit der CSV-Datei ist. Haben Sie überprüft, ob ein Fehler zurückgegeben wird? –

+0

Wenn ich das Array "print_r" versuche, ist es leer. Wenn ich die Datei im Browser lade lädt sie herunter und hat die Daten enthalten (funktioniert genau so wie die zweite Datei) – bigdaveygeorge

Antwort

0

Ihr Code funktioniert tadellos, es scheint, dass etwas mit Ihrer CSV-Datei nicht stimmt. Einzige Sache, die ich vorschlagen würde, ist, anstatt den gleichen Code zum Lesen der CSV-Datei zu schreiben, warum nicht durch sie hindurchschleifen.

<?php 
$files = array(
    'test1.csv', 
    'test2.csv', 
    'test3.csv' 
); 
$stocks_temp = array(); 
$ctr = 0; 
foreach($files as $file){ 
    $fp = fopen($file, 'r'); 
    while($row = fgetcsv($fp)) { 
     $stocks_temp[$ctr][] = $row; 
    } 
    fclose($fp); 
    $ctr++; 
} 

// you will get all data in multidimensional array 
echo "<pre>"; 
print_r($stocks_temp); 
?> 
Verwandte Themen