在PHP中,我可以检查如果上传的文件有推而广之正确的类型,所以代码应该是这样的:PHP - 如何确保上传的文件是JPG,GIF或PNG?
if ((($_FILES["photo1"]["type"] == "image/gif")
|| ($_FILES["photo1"]["type"] == "image/jpeg")
|| ($_FILES["photo1"]["type"] == "image/png"))
&& ($_FILES["photo1"]["size"] < 500000)) //also limiting size
然后在我的代码,下一步我准备作进一步处理的文件。但是如果有人在上传之前将text_file.doc或javascript_file.js更改为samplefile.jpg会怎么样?
move_uploaded_file(($_FILES['photo1']['tmp_name']), "photos/1.jpg");
$source1 = imagecreatefromjpeg("../photos/source1.jpg");
然后用户将看到错误从imagecreatefromjpeg
步:
Warning: imagecreatefromjpeg() [function.imagecreatefromjpeg]: gd-jpeg: JPEG
library reports unrecoverable error: in...
如何跳过处理的一部分,如果一个文件不是一个图形文件,而不是显示错误?
我不认为这会正常工作。如果有人将PNG文件重命名为JPG扩展名,'getimagesize'仍然可以返回正确的大小,但imagecreatefromjpeg函数会出错,因为下划线流不是JPEG。 –
海报问_如果文件不是图形文件_如何跳过处理部分,而不是如何验证JPG是否真的是JPG。由于他也期待其他格式,所以他将不得不使用更具创造性的方式来稍后分开处理它们。 – Bjoern
在你的代码之后我应该把行'if $ size!= 0 {//图像处理}'? – Lucas