Файловый менеджер Китайское название-файловый менеджер, также называемый файловым браузером. Он предоставляет нам визуальный интерфейс для управления файлами и папками. используйте Файловый менеджер , мы можем просматривать, и, печатать, изменять (свойства файла), переименовывать, искать и так далее. Редактор Я уверен, что друзья очень хорошо знакомы с этим. Это богатый текстовый редактор, поэтому я не буду его повторять. Теперь давайте продемонстрируем, как Файловый менеджер и Редактор Интегрироваться в laravel .
Требуется файловый менеджер
возьмите файловый менеджер Добавьте в composer.json Мы используем bestmomo/файловый менеджер
require : {
"laravel/framework": "5.2.*",
"bestmomo/filemanager": "1.1.*"
}Обновление Композитора
$ composer update
Когда обновление будет завершено, поставщик услуг Добавит в config/app. php в
/** * App/Config/App.php */ Bestmomo\Filemanager\FilemanagerServiceProvider::class,
Выпускать
$ php artisan vendor:publish --provider="Bestmomo\Filemanager\FilemanagerServiceProvider"
/**
* App/Http/Models/User.php
*/
/**
* Check media all access
*
* @return bool
*/
public function accessMediasAll(){
return $this->role->slug == 'admin';
}
/**
* Check media access one folder
*
* @return bool
*/
public function accessMediasFolder()
{
return $this->role->slug != 'user';
}После настройки модели необходимо добавить маршруты и контроллеры
Маршрут
// route.php
Route::get('medias', ['as'=>'medias', 'uses'=>'Admin\[email protected]']);файл конфигурации
Новый профиль medias.php Для настройки импортированного файлового менеджера Каталога
// Config/medias.php
'filemanager/index.html',
'url-files' =>'/public/filemanager/userfiles/'
];Метод
В контроллере AdminController Мы добавляем файловый менеджер Метод
/**
* Show the media panel
*
* @return Response
*/
public function filemanager(){
$url = config('medias.url') . '?langCode=' . config('app.locale');
return view('backend.filemanager')->with(compact('url'));
}В контроллере || AdminController || Мы добавляем || файловый менеджер || Метод
@extends('backend.layout.master')
@section('head')
@stop
@section('main')
@include('backend.partials.entete', ['heading' => trans('backend/medias.dashboard'), 'operation'=>'', 'symbol' => 'file-image-o', 'superior' => trans('backend/medias.medias')])
@stop
Вот он, весь Файловый менеджер Он интегрирован в laravel , Но в реальной операции я сообщил о небольшой ошибке: call_user_func_array() ожидает, что параметр 1 будет допустимым обратным вызовом, класс "Kbwebs\MultiAuth\Guard" не имеет метода "accessMediasAll" предполагается, что "Kbwebs\MultiAuth\Guard" Нет, accessMediasAll Метод. Потому что я здесь laravel5.1 Функция многопользовательской аутентификации выполняется в/| Плагине//’Паутина\Мультиавтор\Защита’ | поэтому для получения Пользователя Добавьте его в модель пользователь() Например Auth::пользователь->пользователь(), аутентификация()->пользователь()->пользователь()
растворитель:
Узнайте доступ ко всем носителям и доступ к папке с носителями Документы /filemanager/connectors/php/default.config.php
* @copyright Authors
*/
// Laravel init
require getcwd() . '/../../../../bootstrap/autoload.php';
$app = require_once getcwd() . '/../../../../bootstrap/app.php';
$kernel = $app->make('Illuminate\Contracts\Http\Kernel');
$response = $kernel->handle(
$request = Illuminate\Http\Request::capture()
);
$id = $app['encrypter']->decrypt($_COOKIE[$app['config']['session.cookie']]);
$app['session']->driver()->setId($id);
$app['session']->driver()->start();
// Folder path
$folderPath = config('filemanager.folder_path');
// Check if user in authentified
if(!$app['auth']->check())
{
$laravelAuth = false;
}
else
{ //print_r($app['auth']->user()->user()->accessMediasAll());exit;
// Check if user has all access
if($app['auth']->user()->accessMediasAll())
{
$laravelAuth = true;
}
elseif(method_exists($app['auth']->user(), 'accessMediasFolder'))
{
// Check if user has access to one folder
if($app['auth']->user()->accessMediasFolder())
{
// Folder name with user id
$folderPath .= 'user' . $app['auth']->id();
$laravelAuth = true;
}
else
{
$laravelAuth = false;
}
}
else
{
$laravelAuth = false;
}
}Отдельно $приложение['auth']->пользователь()->доступ ко всем носителям () | $приложение[‘auth’]->пользователь () $приложение['auth']->пользователь()->доступ к папке мультимедиа () $приложение['auth']->идентификатор () Изменение на $приложение[‘auth’]->пользователь()->пользователь()->Доступ к средам () $приложение['auth']->пользователь()->пользователь () $app['auth']->пользователь()->пользователь()->Папка доступа () $app['auth']->пользователь()->идентификатор()
После обновления приведенного выше кода вы можете увидеть интерфейс управления файлами файлового менеджера
скачать CKEditor И распакуйте архив в общедоступный После папки импортируйте на страницу ckeditor/ckeditor.js
CKEDITOR.replace( 'summary'); config['height'] = 400; CKEDITOR.replace( 'content');
Если мы хотим получить ckeditor из Файлового менеджера Для импорта файла, вам необходимо изменить его filebrowserBrowseUrl опция
var config = {
filebrowserBrowseUrl : '/filemanager/index.html'
}
CKEDITOR.replace( 'summary', config);
config['height'] = 400;
CKEDITOR.replace( 'content', config);ckeditor Загрузите рендеринги изображений