我有一个基本的导入工具,我们用它来使用PHP上传到我们的数据库。 这是一个示例脚本。 我的问题是如何在导入之前验证标题?基本上检查一个值,以确保正确的文件被导入。我在网上到处看,但似乎找不到答案 我的标题是
SKU,价格,活跃
LOAD DATA LOW_PRIORITY LOCAL INFILE'$ file'INTO TABLE
sample
。your_temp_table
FIELDS TERMINATED BY'' 由'\''IGNORE 1 LINES终止的'\''线路的选择性封闭 //继续运行其余脚本
我的问题是如何在脚本运行之前验证标头? 我正在使用
$ file = $ _GET ['file']; $ file = urldecode($ file); //上传文件
答案 0 :(得分:8)
我认为您需要阅读$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…