致命错误:未捕获的异常' ErrorException'与消息 ' fopen(/home/xxx/app/userfiles/images/sdfdsf.jpg):未能打开 流:权限被拒绝'在 /home/xxx/app/webroot/js/packages/finder/core/connector/php/vendor/league/flysystem/src/Adapter/Local.php:142
我使用了以下设置:
$config['backends'][] = array(
'name' => 'default',
'adapter' => 'local',
'baseUrl' => '/app/userfiles/',
'chmodFiles' => 0777,
'chmodFolders' => 0755,
'filesystemEncoding' => 'UTF-8',
);
$config['backends'][] = array(
'name' => 'ftp',
'adapter' => 'ftp',
'host' => 'xxx',
'username' => 'xxx',
'password' => 'xxx'
);
$config['resourceTypes'] = array(
array(
'name' => 'Files',
'directory' => '/home/websites/www/shared/images/ckfinder/',
'maxSize' => 0,
'allowedExtensions' => 'pdf,doc,zip',
'backend' => 'ftp',
'lazyLoad' => true
),
array(
'name' => 'Images',
'directory' => '/home/websites/www/shared/images/ckfinder/',
'maxSize' => 0,
'allowedExtensions' => 'gif,jpeg,jpg,png',
'backend' => 'ftp',
'lazyLoad' => true
)
);
如上所述,浏览位于/ app / userfiles /中的图像非常完美。它甚至将名称返回到我的输入字段。
但目前我想上传图片或文件,我收到此错误。有谁能告诉我如何解决这个问题?
P.S。文件夹有CHMOD 777所以应该没问题。似乎错误说它正在尝试上传文件,或者从错误的目录访问它,例如我的设置错了:)
这只是一个测试,但本地资源将被删除,图像/文件浏览应仅来自FTP,与上传目录相同:)
答案 0 :(得分:0)
您似乎尝试为资源类型定义绝对路径。资源类型的directory
选项中使用的路径应该与使用的后端的root
相关。
请查看PHP连接器文档中的以下位置:
您可以使用绝对路径来定义后端root
,然后在资源类型directory
选项中使用相对于已定义根的路径。例如:
$config['backends'][] = array(
'name' => 'ftp',
'adapter' => 'ftp',
'host' => 'xxx',
'username' => 'xxx',
'password' => 'xxx',
'root' => '/home/websites/www/shared/images/ckfinder/'
);
$config['resourceTypes'] = array(
array(
'name' => 'Images',
//'directory' => '', You can also omit this option - the resource type in this case will be attached to the backend root
'maxSize' => 0,
'allowedExtensions' => 'gif,jpeg,jpg,png',
'backend' => 'ftp',
'lazyLoad' => true
)
);