Cakephp上传图片后,tmp_name文件在脚本完成之前被删除了吗?

时间:2010-11-30 09:43:11

标签: php html cakephp upload

我有一个html表单,允许用户浏览要上传的文件。

在cakephp脚本中,我使用move_uploaded_file()将文件从临时位置上传到服务器上的某个位置。

move_uploaded_file($file['tmp_name'], $url);

但是,在上传完成之前,文件似乎正在消失:

  

move_uploaded_file(/img/recipes/5.jpg)[function.move-uploaded-file]:无法打开流:没有这样的文件或目录[APP \ app_controller.php,第97行]

     

move_uploaded_file()[function.move-uploaded-file]:无法将'C:\ Windows \ Temp \ phpF25A.tmp'移动到'/img/recipes/5.jpg'[APP \ app_controller.php,line 97]

2 个答案:

答案 0 :(得分:2)

我认为它告诉你目标不存在。 /img/recipes/5.jpg几乎不是在UNIX系统上传到的有效目录,在Windows上它可能完全无效。

您需要构建一个绝对路径来保存文件(例如C:\webroot\project\images\foo.jpg)而不是URL。

答案 1 :(得分:1)

它抱怨/img/recipes/5.jpg不存在,而不是源文件(由用户上传)。