图像文件权限 - 图像缩放器

时间:2009-12-07 04:24:38

标签: php mysql file-permissions

PHP mySQL的

嗨,我有一个有趣的问题。 我的cms中有一个表单,允许管理员将图像上传到服务器。该脚本将图像调整为缩略图(170像素高)和大图像(600像素高)。缩略图大小约为16000k,大图像大小约为160,000k。 我没有设置文件权限,只是让它自动发生。 当我去网站时,我可以看到缩略图,但我看不到全尺寸图像,我已将问题跟踪到文件权限。缩略图具有rw-r-r权限,较大的图像具有rw - - - 权限。即公众无权查看大图像。我使用原始名称保存大图像,并保存缩略图,并在末尾添加_thumbnail。 为什么大图像的权限在同一脚本上传和调整大小时以及我没有设置文件权限时会有所不同?尺寸与它有关吗?我只在将图像上传到生产服务器时遇到此问题,而不是在我的本地计算机上工作时。 谢谢 安德鲁

2 个答案:

答案 0 :(得分:2)

你是如何调整图像大小的?你在使用外部程序吗?

这只是一个猜测,但这里是

  1. admin通过表单上传image.jpg
  2. php脚本将上传的image.jpg写入文件系统,如rw- --- ---(600)
  3. php脚本调用image resizer程序来创建image_thumbnail.jpg
  4. image resizer将image_thumbnail.jpg写为rw- r--(644)
  5. php脚本调用image resizer程序来创建resized image.jpg
  6. 图像缩放器覆盖image.jpg,但保留权限为rw- --- ---(600)
  7. 要测试此理论,请注释掉将image.jpg调整为600px的部分,然后检查最初上传图像的权限。如果他们是600,那就是你的问题。

    无论如何,一个简单的chmod将解决您的问题。

答案 1 :(得分:0)

我建议你先看看你的php.ini文件

;Maximum allowed size for uploaded files.
upload_max_filesize = 10M
;Maximum size of POST data that PHP will accept.
post_max_size = 10M

默认设置为2M。你需要像我在这里提到的那样改变它。如果它仍然无法正常工作,请回来。