Я использую приведенный ниже код для добавления данных в CSV-файл на основе импорта из CSV-файла. Когда я записываю новые данные в новый CSV-файл, все выглядит нормально! Но я хотел бы добавить новые данные в новые столбцы. Попробую объяснить на примере.
Первый столбец исходного CSV содержит идентификаторы. Эти идентификаторы используются для получения данных с удаленного веб-сайта. Эти данные сохраняются в массив с именем csv_array(); :
$id = array();
if (($handle = fopen($filename, 'r')) !== false)
{
while (($data = fgetcsv($handle, 1000, ";")) !== false)
{
if ($data[0] != null)
{
$id[] = $data[0];
}
}
fclose($handle);
}
$csv_array = array();
foreach ($id as $product_id)
{
array_push($csv_array, $arr = array_merge(array('id' => $product_id), $product_info, $images));
}
Следующим шагом будет вставка этих данных в новый файл .csv.
function export($csv_array)
{
$filename = "info.csv";
$fp = fopen($filename, 'w');
fputcsv($fp, array_keys($csv_array[0]), ';');
foreach ($csv_array as $fields)
{
fputcsv($fp, $fields, ';');
}
fclose($fp);
}
Все это работает, но я хотел бы добавить новые данные в три новых столбца в исходный CSV. Я попытался использовать $fp = fopen($filename, 'a'); но это добавляет новые данные в конец csv вместо трех новых столбцов. Кто что подскажет :)