我正在尝试使用 CakePHP 文件上传表单帮助程序将文件上传到我的服务器。
我目前在我的开发计算机 (Mac OSX) 上运行 CakePHP 1.3。
当表单提交时,它在传递给控制器​​的变量中包含其临时名称: /var/tmp/name 然后将其名称作为文件的名称。
但是,当我尝试将文件重命名到更永久的位置时,它会失败,并且如果我转到该位置,它就不存在。

我收到这些错误消息:

Warning (2): move_uploaded_file(Users/chustar/Documents/IMAG0001.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory [APP/controllers/users_controller.php, line 41]
Warning (2): move_uploaded_file() [function.move-uploaded-file]: Unable to move '/private/var/tmp/php98lzsP' to '/Users/chustar/Documents/IMAG0001.jpg' [APP/controllers/users_controller.php, line 41]
Warning (2): Cannot modify header information - headers already sent by (output started at /Library/WebServer/Documents/cake/libs/debugger.php:673) [CORE/cake/
有帮助吗?

解决方案

当我没有在目标目录上正确设置权限时,我经常收到此错误。出于说明目的,我假设您正在运行 Apache Web 服务器,并且它以名为 www. 。那 www 用户必须对目标目录具有写权限。不是什么权限的问题 有,但是Web服务器用户有哪些权限。

如果您发现这不是问题,更多细节和/或一些代码可能会有所帮助。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top