is_uploaded_file()
或move_uploaded_file()
,在这里。当然,您通常不希望用户上传任何类型的文件,出于各种原因。因此,我经常使用一些“严格”的mime类型检查。当然,这非常有缺陷,因为mime类型经常是错误的,用户无法上传其文件。它也很容易被伪造和/或更改。除此之外,每个浏览器和操作系统都以不同的方式处理它们。
另一种方法是检查扩展名,当然比mime类型更容易更改。
如果您只想要图像,可以使用类似于
getimagesize()
的东西就可以了。其他类型的文件怎么办?PDF、Word文档或Excel文件?甚至是纯文本文件?
编辑:如果您没有mime_content_type或Fileinfo并且system("file -bi $uploadedfile")给出了错误的文件类型,还有哪些选项?
getimagesize()
函数明确指出,您不应使用此函数来验证图像是否为图像。不要使用getimagesize()来检查给定文件是否为有效图像。而是使用专门的解决方案,如Fileinfo扩展。
http://php.net/manual/en/function.getimagesize.php - Hugo Zonderland