我有一个使用 Excel 保存为 CSV 文件的文件(我尝试从 Windows 7 和 Mac OSX 中避免任何兼容性问题)。
当我这样做时:
ini_set('auto_detect_line_endings', true);
$filename = 'import/clientsimport.csv';
$csvfile = file_get_contents($filename);
$csvarray = str_getcsv($csvfile);
print_r($csvarray);
mysql_close();
所有的行都变成了一行,我得到了一个只有 1 级深度的数组,并且可以连续运行到数千个键。
所以我尝试了另一种方法:
ini_set('auto_detect_line_endings', true);
$filename = 'import/clientsimport.csv';
$csvfile = fopen($filename,'r');
$csvarray = fgetcsv($csvfile);
print_r($csvarray);
这仅返回第一行(标题行)并且不会超出它。我该如何正确地做到这一点?有数百行,每行大约有十几个数组,所以我应该得到一个二维数组。
在 CSV 中,每一行都由换行符分隔,值由逗号分隔 - 没有附件。