我正在尝试使用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/
答案 0 :(得分:2)
如果我没有在目标目录上正确设置权限,我会收到很多错误。出于说明的目的,我将假设您正在运行Apache Web服务器,并且它以名为www
的用户身份运行。该www
用户必须具有对目标目录的写访问权。这不是你拥有的权限,而是Web服务器用户拥有的权限。
如果您发现不是问题,可以使用更多细节和/或某些代码。