wvb アプリのユーザーが CSV ファイルを使用してデータを一括アップロードできるようにする機能を追加しようとしています。データの実際のフィールド自体にカンマが含まれている場合を除いて、すべてうまく機能します。
これに関する多くの投稿があり、主にコンマを二重引用符で囲むことで対処する多くの方法を読みましたが、コードでこれを行う方法がわかりません。
最終的に、ユーザーが入力時にこれを行うことに頼ることはできないため、データベースにヒットする前にアップロードプロセスの一部として行う必要があります - タブを代替セパレーターとして使用しようとしましたが、Excel はその方法に非常に一貫性がないようですタブ区切りを処理するので、除外しました。
(sanitiseData は、すべてのユーザー入力データを消去するためにサイト全体で使用する関数です)
$handle = fopen($file_path, 'r');
$row_count=0;
while (($data = fgetcsv($handle, 0, ',')) !== FALSE) {
if ($row_count==0) {
$row_count++;
} else {
$row_count++;
$works_id = sanitiseData($data[0]);
$title = sanitiseData($data[1]);
$first_name = sanitiseData($data[2]);
//Use data to insert into db
$sql = mysql_query("INSERT INTO csv_employee_personal (id,works_id,title,first_name) VALUES ('','$works_id','$title','$first_name')");
}
}
//delete csv file
unlink($file_path);