Validate Headers ON CSV & TXT


Validate Headers ON CSV & TXT

我有一个基本的导入工具,我们正在使用它使用PHP上传到我们的数据库中。这是一个示例脚本。我的问题是如何在导入之前验证标头?基本上是根据一个值进行检查,以确保导入了正确的文件。我在网上到处找,但似乎找不到答案我的标题是

SKU,价格,活动

将数据LOW_PRIORITY本地文件'$file'加载到表sample中。your_temp_table字段由"终止可选地由"''"行包围,由"''n"忽略1行终止//继续运行脚本的其余部分

我的问题是如何在脚本运行之前验证头?我正在使用

$file=$_GET["文件"];$file=url解码($file)//在上传时获取文件

我认为您需要阅读$file的第一行,并将其与一组标题列表进行比较:

$requiredHeaders = array('SKU', 'Price', 'Active'); //headers we expect
$f = fopen($file, 'r');
$firstLine = fgets($f); //get first line of csv file
fclose($f); // close file    
$foundHeaders = str_getcsv(trim($firstLine), ',', '"'); //parse to array
if ($foundHeaders !== $requiredHeaders) {
   echo 'Headers do not match: '.implode(', ', $foundHeaders);
   die();
}
//run import script…