PHP:上传后文件丢失
上传后,图像字段的PHP:上传后文件丢失,php,cakephp,file-upload,Php,Cakephp,File Upload,上传后,图像字段的print\r输出如下 Array ( [name] => foo.png [type] => image/png [tmp_name] => /tmp/php63EvNo [error] => 0 [size] => 19115 ) 由于错误为零,并且文件大小为非零,因此我假设上载成功 移动上传文件的后续调用失败:移动上传文件(…):打开流失败:权限被拒绝 检查/tmp,在tmp\u name中命名的
print\r
输出如下
Array
(
[name] => foo.png
[type] => image/png
[tmp_name] => /tmp/php63EvNo
[error] => 0
[size] => 19115
)
由于错误
为零,并且文件大小
为非零,因此我假设上载成功
移动上传文件的后续调用失败:移动上传文件(…):打开流失败:权限被拒绝
检查/tmp
,在tmp\u name
中命名的文件不存在
是什么导致这种行为/如何纠正
谢谢
额外信息: 灯组,运行PHP5,CakePHP 2.0 表格: php/cake代码:
echo $form->input('Foo.image', array('type' => 'file'));
呈现的html:
<input type="file" name="data[Foo][image]" id="FooImage"/>
在请求结束时删除/tmp
中临时上载的文件-它们不会长期保存。如果您关心文件,则必须在收到上载请求的过程中使用移动上载的文件。很可能是权限问题。还考虑使用CAKEPHP文件夹变量。我拥有的上载组件如下所示:
$file = $this->request->data['Client']['image'];
$filename = $file['tmp_name'];
$filePath = WWW_ROOT . DS . 'files' . DS . $file['name'];
if(move_uploaded_file($filename, $filePath))
return '/files/'.$file['name']; // saves location of uploaded file
尝试搜索该文件。您可能放错了位置或检查了文件夹权限。我们可以看到move\u uploaded\u file
part吗?@Joseph-文件夹权限确实是问题所在-chmod-R 777
在指定位置修复了问题。如果你回答这个问题,我就给你打勾。