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

发布于 2024-08-13 06:23:15 字数 394 浏览 1 评论 0原文

PHP mySQL

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

PHP
mySQL

Hi, i am having an interesting problem.
I have a form in my cms that allows the admin to upload images to the server. The script resizes the images to a thumbnail (170px height)and a large image(600px height). The thumbnails are around 16000k in size and the large images are around 160,000k in size.
I do not set file permissions and just let it happen automatically.
When i go to the site i can see the thumbnails but i can't see the full size images and i have tracked the problem down to the file permissions. The thumbnails have rw-r-r permissions and the larger images have rw-- -- -- permissions. Ie the public does not have permission to view the large images. I save the large images with the name of the original and i save the thumbnails with _thumbnail appended to the end.
Why would the permissions of the large images be different when they are both uploaded and resized by the same script and when i do not set file permissions? Does the size have something to do with it? I only get this problem when uploading images to the production server, not when working on my local machine.
Thanks
Andrew

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

满天都是小星星 2024-08-20 06:23:15

您如何调整图像大小?您使用外部程序吗?

这只是一个猜测,但是

  1. 管理员通过表单上传 image.jpg php 脚本将上传的 image.jpg 以 rw- --- --- (600) 的形式
  2. 写入文件系统
  3. php 脚本调用图像调整器程序来创建 image_thumbnail.jpg
  4. 图像调整器将 image_thumbnail.jpg 写入 rw- r-- r-- (644)
  5. php 脚本调用图像调整器程序来创建调整大小的 image.jpg
  6. 图像调整器覆盖 image.jpg,但保留权限为 rw- --- --- ( 600)

为了测试这个理论,注释掉将 image.jpg 大小调整为 600px 的部分,然后检查原始上传图像的权限。如果他们是 600,那么你的问题就来了。

不管怎样,一个简单的 chmod 就可以解决您的问题。

How are you resizing the images? Are you using an external program?

This is just a guess, but here goes

  1. admin uploads image.jpg via your form
  2. php script writes uploaded image.jpg to file system as rw- --- --- (600)
  3. php script calls image resizer program to create image_thumbnail.jpg
  4. image resizer writes image_thumbnail.jpg as rw- r-- r-- (644)
  5. php script calls image resizer program to create resized image.jpg
  6. image resizer overwrites image.jpg, but leaves permissions as rw- --- --- (600)

To test this theory, comment out the part where it resizes image.jpg to 600px, and then check the permissions of the originally uploaded image. If they are 600, then there's your problem.

Regardless though, a simple chmod will solve your problem.

向日葵 2024-08-20 06:23:15

我建议您首先查看您的 php.ini 文件

;上传文件允许的最大大小。
upload_max_filesize = 10M
;PHP 可接受的 POST 数据的最大大小。
post_max_size = 10M

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

I will suggest you to first look at your php.ini file

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

The default settings would be 2M. You will need to change it like I mentioned here. If its still not working please get back.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文