我正在尝试添加一项功能,允许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);