由于CSV文件的性质以及或多或少缺乏该文件类型的标准性,我想知道是否甚至有可能检查此类文件是否具有标题。到目前为止,我已经为CSV文件创建了一个基本的导入器,现在我正在尝试实现尽可能多的验证。
我在互联网上发现了许多有关如何跳过第一行,几行第一行,最后一行等的主题,但是我所读的内容都没有提到如何检测CSV文件中的标头。
这是我的csvImport()
方法的一部分,该方法处理CSV格式等:
public function csvImport($file) {
$data = array();
$delimiter = array(";", ",", "\t", "|");
$mimes = array(
'text/csv',
'application/csv',
'text/comma-separated-values',
'application/excel',
'application/vnd.ms-excel',
'application/vnd.msexcel',
'application/octet-stream',
'application/csv',
'application/x-csv',
'text/x-comma-separated-values',
'text/tab-separated-value text/x-csv'
);
if (is_file($file) && is_readable($file) && in_array($_FILES['file']['type'], $mimes)) {
$handle = fopen($file, 'r');
//...
如何确定CSV文件是否包含标题?