我有一个大的CSV我正在编写一个PHP CLI脚本来导入现有的PHP应用程序,同时利用现有的应用程序的ORM在字段之间进行关系管理(相信我,我查看了一个SQL CSV导入,这样更容易)。我们手头的问题是我的CSV数据格式不正确,或者我的fgetcsv()
电话错误。
这是我想要导入的示例数据集:
id,fname,lname,email\n
1,John,Public,johnqpublic@mailinator.com\n
1,Jane,Public,janeqpublic@mailinator.com\n
CSV导入代码几乎取自fgetcsv()上的PHP文档:
function import_users($filepath) {
$row = 0;
$linesExecuted = 0;
if(($file = fopen($filepath, 'r')) !== false) {
$header = fgetcsv($file); //Loads line 1
while(($data = fgetcsv($file, 0, ",")) !== false) {
$userObj = user_record_generate_stdclass($data);
//A future method actually pipes the data through via the ORM
$row++;
}
fclose($file);
} else {
echo "It's going horribly wrong";
}
echo $row." records imported.";
}
这种方法的结果逻辑几乎是%符号,这令人困惑。我忽略了什么吗?