我想测试上传的文件是否为CSV文件,选择csv文件后再用此代码确认,仍然给我一条不是CSV文件的消息,请帮帮我。
if($_FILES["file"]["type"] <> "application/vnd.ms-excel"){
die("This is not a CSV file.");
}
答案 0 :(得分:1)
最简单的检查是“文件名是否以.csv
结尾”。这将帮助您完成大部分工作,但有人可能会尝试使用CSV扩展程序上传其他内容。
您的下一次检查应该是文件是文本(而不是二进制文件;请注意Excel文件应该失败)。要执行此操作,请检查ascii representation of each character:除了回车,换行符和制表符之外,应该没有小于32的值。
一旦您知道该文件是文本,您就可以通过CSV parser运行该文件并查看结果是否为无意义。