如何从PHP中上传的文件中提取扩展名?
我有一个模块,其中有一个文件上传接受任何文件,但它应该只处理csv文件。如果有其他文件,那么应该说是无效文件。 我已经写了一段代码,但即使我上传了一个CSV文件,它也不能识别它是一个CSV文件。 我的代码是如何从PHP中上传的文件中提取扩展名?,php,Php,我有一个模块,其中有一个文件上传接受任何文件,但它应该只处理csv文件。如果有其他文件,那么应该说是无效文件。 我已经写了一段代码,但即使我上传了一个CSV文件,它也不能识别它是一个CSV文件。 我的代码是 if($_FILES['file']['type'] != "application/vnd.ms-excel"){ die("This is not a CSV file."); } 试试这个 $filename = $_FILES['file']['name']; $path_p
if($_FILES['file']['type'] != "application/vnd.ms-excel"){
die("This is not a CSV file.");
}
试试这个
$filename = $_FILES['file']['name'];
$path_parts = pathinfo($filename);
if($path_parts['extension']!='csv'){
die("This is not a CSV file.");
}
您既不能信任mime类型,也不能信任浏览器提供的文件扩展名。不同的浏览器为同一个文件发送不同的mime类型,用户可以重命名它,这样您也就不信任扩展名了。上传后,您必须使用其他检查来验证文件。CSV也不是“application/vnd.ms excel”。