быстрый вопрос, который беспокоил меня уже несколько дней. Я только что установил CKfinder и «просмотр» работает отлично. За исключением случаев, когда я хочу загрузить изображение или файл, выдается следующая ошибка:
Неустранимая ошибка: необработанное исключение 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 /, работает отлично. Он даже возвращает имя в мое поле ввода.
Но в данный момент я хочу загрузить изображение или файл, я получаю эту ошибку. Кто-нибудь, кто может сказать мне, как решить эту проблему?
Постскриптум Папки имеют CHMOD 777, так что должно быть в порядке. Кажется, что ошибка говорит о том, что он пытается загрузить файл или получить доступ к нему из неправильного каталога, например мои настройки неверны 🙂
Это был всего лишь тест, но локальный ресурс будет удален, просмотр изображений / файлов должен осуществляться только с FTP, так же, как и каталог загрузки 🙂
Похоже, вы пытались определить абсолютные пути для типов ресурсов. Путь, используемый в 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
)
);
Других решений пока нет …