1

当我尝试在 Windows 机器上打开 CMS 生成的文件时遇到问题。它有一个上传功能,可以将文件保存在给定的位置(它在我的用户文件夹中,我应该拥有所有的写入和读取权限)。

我在该文件夹中只能看到一个通用缩略图,在这种情况下,由窗口为每种图像类型、PNG 和 JPEG 生成的缩略图。我尝试更改图像权限并将其设置为当前计算机用户,但它不起作用。而且我无法将这些文件移动到另一个位置(通过 FTP 将它们上传到服务器)。

我想知道是否有办法改变这种行为。

我注意到的一件事是,如果我复制并粘贴这些文件,我可以正常查看其内容。我知道我可以对他们每个人都这样做并重命名,但是那个文件夹中有几十张图片......每次我上传新图片时都不想做同样的事情。

更新

这仅发生在被移动的图像(我正在使用 php 的move_uploaded_file函数,顺便说一句),而不是生成的图像(裁剪、调整大小等)。

4

2 回答 2

2

发生这种情况是因为 Windows 在移动文件时保留了 TEMP 文件夹(通常是 c:/windows/temp)的文件权限。为了防止它,您需要将“php.ini”中的“upload_tmp_dir”更改为您的服务器目录或为您的 Windows 临时文件夹设置广泛的权限。

于 2016-12-13T12:41:52.123 回答
0

您可能在某些 php 文件中存在错误,导致图像无法正确显示。

为了检测问题,我会做的是注释掉header()负责显示图像的 php 文件中的调用,并查看除图像数据之外是否有任何输出。

检查整个输出,只需要一个字符就可以破坏所有内容,因此请检查输出的顶部或底部是否没有空行。如果您有错误日志,请查阅它,它将帮助您快速跟踪问题。

当我遇到这个问题时,通常是在图像生成过程中出现的通知或警告,如果您没有禁用错误输出到屏幕,则通知文本将被视为图像数据的一部分这使浏览器无法解释您的图像。

如果您愿意,我可以为您仔细查看,但我需要查看您在该 php 文件中所做的事情才能确定地告诉您。

于 2013-05-21T20:20:13.270 回答