我正在构建一个Web表单来
获取CSV
文件,然后将
内容导入到联系人
数据库中.但是,在开发过程中,我注意到在
上传CSV
文件时,我可用的MIME类型是application / octet-stream.
在Google上进行快速网络搜索告诉我,application / octet-stream是二进制文件的通用MIME类型,可以是从.csv到.exe文件的任何内容,这对我来说似乎不安全,因为那时唯一的其他文件我必须确定文件类型的信息是原始文件名.任何具有基本计算知识的人都可以轻松改变这一点.
如何确保通过PHP中的Web表单上传的CSV文件实际上是包含上述信息的CSV文件?
这是正确的,application / octet-stream是一种通用的MIME类型.
您可以检查文件是否具有CSV扩展名,并使用函数fgetcsv()来确定文件的内容是否有效.如果在将文件读取为CSV时出现问题,此函数将返回NULL或布尔值false.