Mein Plan bestand darin, die erste Zeile mit ihren Titeln zu verarbeiten und die Spaltenanzahl mit der Spalte unserer Datenbank zu verknüpfen Name. Ich speichere es derzeit als zugehöriges Array. Im folgenden Codebeispiel wurden der Kürze halber einige case-Werte entfernt. Das assoziative Array hat die Spaltenanzahl als Schlüssel, den Namen als Wert.
Code: Select all
if (($handle = fopen($guestData, "r")) !== FALSE) {
while (($data = fgetcsv($handle, 10000, ",")) !== FALSE) {
$num = count($data);
$myArray = array();
for ($c=0; $c < $num; $c++) {
switch ($data[$c]) {
case 'Customer ID':
$myArray += [$c => "operatorBookingID"];
break;
case 'Customer Name':
$myArray += [$c => "guestName"];
break;
case 'Country':
$myArray += [$c => "nationality"];
break;
case 'Phone number':
$myArray += [$c => "phone"];
break;
'
'
'
}
}
}
Code: Select all
Array ( [3] => guestName [4] => nationality [5] => phone etc etc )
bearbeitet
Das vorherige Fehlerproblem wurde dank des zweiten Kommentars über das zu frühe Schließen des Streams durch das Skript behoben.