php - 无法在 Windows 上打开由 PHP 应用程序生成的文件

标签 php windows file-upload permissions

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

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

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

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

更新

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

最佳答案

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

关于php - 无法在 Windows 上打开由 PHP 应用程序生成的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16676506/

相关文章:

php - 如何正确链接 2 个容器?

windows - 伪造一个 RS232 串口

c++ - PostQuitMessage() 和 DestroyWindow() 之间的逻辑区别是什么?

c++ - 编译SkyFireEMU报错,sizeof(void *) 都不是

java - struts 2 使用ajax上传文件

php - ZF2 : Define URL http or https

php - 在正文部分使用屏幕传递数据

PHP 使用 header 下载图像

gwt - 如何在 FileUpload 小部件上触发 clickEvent?

javascript - http请求的 Angular 文件上传方法