我正在尝试添加允许 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);