2010-08-28 30 views
0

之前,我打电话move_uploaded_file,我应该做任何有关此特定变量:

$_FILES["filename"]["tmp_name"]

谢谢

回答

3

你可以用变量本身做的事情不多,但你应该测试这个文件,以确保它是你所期望的图像类型。永远不要依赖文件扩展名来确定文件类型。例如,不要假定.jpg扩展名的内容实际上是一个JPEG文件。

+0

你好迈克, 我检查文件的扩展名,只允许一个jpg,png,jpeg,tiff等图像格式。我如何知道图像文件是否真的是图像文件?我需要稍后将这个文件作为头像服务器提供给用户。 谢谢 – q0987 2010-08-28 16:02:58

+0

如果你有权访问[ImageMagick库](http://php.net/manual/en/book.imagick.php),最简单的方法是尝试将图像文件加载到新的IMagick对象。有关示例,请参阅[本PHPro教程]的第一部分(http://phpro.org/tutorials/Imagick.html)。有可能使用[GD库](http://php.net/manual/en/book.image.php)来做同样的事情,但它有点尴尬。看到这里的例子:http://www.bitrepository.com/how-to-validate-an-image-upload.html – Mike 2010-08-28 17:24:54

2

无。这是由PHP生成和分配的,并且在您的脚本退出时将无效/无效,因为PHP将删除尚未处理的所有上传文件。它会像“/ tmp/a34632rsfd234”一样。保持其价值没有意义。但是,$_FILES['filename']['name']是来自客户端计算机的文件的原始文件名,如果您保存该文件,则需要将其视为有毒废物并对其进行消毒。

1

否,因为其中的值总是会有一个文件系统的有效文件名(因为它指向磁盘上的文件)。

相关问题