以下のコードを使用して、csv ファイルからのインポートに基づいて csv ファイルにデータを追加しています。新しいデータを新しいcsvファイルに書き込むと、すべて問題ないように見えます! しかし、新しいデータを新しい列に追加したいと思います。例を挙げて説明しようと思います。
元の csv の最初の列には ID が含まれています。これらの ID は、リモート Web サイトからデータを取得するために使用されます。このデータは 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 の 3 つの新しい列に追加したいと思います。$fp = fopen($filename, 'a'); を使用してみました。ただし、これにより、3 つの新しい列ではなく、csv の最後に新しいデータが追加されます。誰が私にヒントを与えることができます:)