主頁(yè) > 知識(shí)庫(kù) > Laravel5.6框架使用CKEditor5相關(guān)配置詳解

Laravel5.6框架使用CKEditor5相關(guān)配置詳解

熱門(mén)標(biāo)簽:仁和怎么申請(qǐng)400開(kāi)頭的電話 廣東地市地圖標(biāo)注 外呼系統(tǒng)撥打暫時(shí)無(wú)法接通 怎么向銷(xiāo)售公司推銷(xiāo)外呼系統(tǒng) 廣州防封卡外呼系統(tǒng)多少錢(qián)一個(gè)月 哪里辦理400電話 江西手機(jī)自動(dòng)外呼防封系統(tǒng)是什么 長(zhǎng)春人工外呼系統(tǒng)服務(wù)商 高德地圖標(biāo)注家

本文實(shí)例講述了Laravel5.6框架使用CKEditor5相關(guān)配置。分享給大家供大家參考,具體如下:

Laravel 相關(guān)配置

文件的上傳與存儲(chǔ)

參考文檔:

https://laravel-china.org/docs/laravel/5.6/requests/1367#1d60f1
https://laravel-china.org/docs/laravel/5.6/filesystem/1390
https://docs.ckeditor.com/ckeditor4/latest/guide/dev_file_upload.html#response-file-uploaded-successfully

創(chuàng)建符號(hào)鏈接

php artisan storage:link 

project/public/storage -> project/storage/app/public

修改配置文件config/filesystem.php

'default' => env('FILESYSTEM_DRIVER', 'public')

修改nginx和php的配置文件中上傳內(nèi)容大小的限制

#修改nginx配置文件
vim /usr/local/nginx/conf/nginx.conf
http {
  include    mime.types;
  default_type application/octet-stream;
  client_max_body_size 10M;
  .....
}
#重啟nginx
/usr/local/nginx/sbin/nginx -s reload
#修改php-fpm配置文件
vim /usr/local/etc/php/7.2/php.ini
post_max_size = 20M
upload_max_filesize = 20M
#重啟php-fpm
/usr/local/sbin/php72-fpm restart

編寫(xiě)文件處理方法

/**
 * 處理上傳文件
 * @return [type] [description]
 */
public function uploadFile(Request $request){
  $postFile = 'upload';
  $allowedPrefix = ['jpg','png','doc','docx','xls','xlsx','zip','ppt','pptx','rar','pdf'];
  //檢查文件是否上傳成功
  if(!$request->hasFile($postFile) || !$request->file($postFile)->isValid()){
    return $this->CKEditorUploadResponse(0,'文件上傳失敗');
  }
  $extension = $request->file($postFile)->extension();
  $size = $request->file($postFile)->getClientSize();
  $filename = $request->file($postFile)->getClientOriginalName();
  //檢查后綴名
  Log::info('extension',[$filename=>$extension]);
  if(!in_array($extension, $allowedPrefix)){
    return $this->CKEditorUploadResponse(0,'文件類(lèi)型不合法');
  }
  //檢查大小
  Log::info('size',[$filename=>$size]);
  if($size > 10*1024*1024){
    return $this->CKEditorUploadResponse(0,'文件大小超過(guò)限制');
  }
  //保存文件
  $path = '/storage/'.$request->file($postFile)->store('images');
  return $this->CKEditorUploadResponse(1,'',$filename,$path);
}
/**
 * CKEditor 上傳文件的標(biāo)準(zhǔn)返回格式
 * @param [type] $uploaded [description]
 * @param string $error  [description]
 * @param string $filename [description]
 * @param string $url   [description]
 */
private function CKEditorUploadResponse($uploaded,$error='',$filename='',$url=''){
  return [
    "uploaded" => $uploaded,
    "fileName" => $filename,
    "url" => $url,
    "error" => [
      "message" => $error
    ]
  ];
}

路由配置

#文件上傳路由
Route::post('/create/uploadFile','Admin\Articles\CreateController@uploadFile');
#從word中復(fù)制內(nèi)容時(shí),自動(dòng)上傳圖片路由
Route::post('/create/uploadFileresponseType=json','Admin\Articles\CreateController@uploadFile');

CKEditor相關(guān)配置

CKEditor配置參數(shù):https://docs.ckeditor.com/ckeditor4/latest/api/CKEDITOR_config.html

CKEDITOR.replace('content',{
  height:500,
  fileTools_requestHeaders : {
    'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
  },
  isFileUploadSupported : true,
  filebrowserUploadUrl : '/create/uploadFile',
  language : 'zh-cn', 
}); 

Laravel-CSRF保護(hù)

相關(guān)文檔:
https://laravel-china.org/docs/laravel/5.6/csrf/1365
https://docs.ckeditor.com/ckeditor4/latest/api/CKEDITOR_config.html#cfg-fileTools_requestHeaders

首先,在頁(yè)面head部分添加csrf參數(shù)

!-- CSRF Token -->
meta name="csrf-token" content="{{ csrf_token() }}">

然后,為CKEditor編輯器的xhr請(qǐng)求增加請(qǐng)求頭參數(shù)

fileTools_requestHeaders : {
  'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}

隱藏“瀏覽服務(wù)器”按鈕

 

“瀏覽服務(wù)器”按鈕,用于實(shí)現(xiàn)對(duì)已上傳文件的管理,可以借助CKFinder實(shí)現(xiàn),由于目前沒(méi)有該需求,并且引入該功能會(huì)導(dǎo)致文件安全問(wèn)題,本文采用了隱藏該按鈕的方案。

參考附錄:ckeditor隱藏“瀏覽服務(wù)器”按鈕

基本思路是從一下三個(gè)文件中,查找關(guān)鍵字browseServer,通過(guò)設(shè)置display屬性隱藏該按鈕。

ckeditor/plugins/image/dialogs/image.js
ckeditor/plugins/flash/dialogs/flash.js
ckeditor/plugins/link/dialogs/link.js

image

flash

link

附錄:ckeditor隱藏“瀏覽服務(wù)器”按鈕

由于ckeditor中的"上傳圖片""上傳文件""上傳FLASH” 三個(gè)功能中都有“瀏覽服務(wù)器”按鈕,所以我們要修改3個(gè)JS文件,先打開(kāi)ckeditor文件夾中的ckeditor\plugins\image\dialogs\image.js文件,CTRL+F,搜索"browseServer”,找到該詞第一次出現(xiàn)的位置,在后面添加雙引號(hào)內(nèi)的內(nèi)容",style:'display:none;'"。如下圖:

再搜索"filebrowser",找到該詞第二次出現(xiàn)的位置,如下圖填入

CTRL+S保存該JS文件,出去刷新下自己的ckeditor,點(diǎn)擊圖片上傳按鈕后,你會(huì)發(fā)現(xiàn)瀏覽服務(wù)器按鈕不見(jiàn)了。

下面去弄掉文件上傳中的“瀏覽服務(wù)器”按鈕。

打開(kāi)ckeditor\plugins\link\dialogs\link.js文件,還是搜索"browseServer"第一次出現(xiàn)的地方,如下圖插入雙引號(hào)內(nèi)的內(nèi)容",style:'display:none;'"。

CTRL+S保存該JS文件,出去刷新下自己的ckeditor,點(diǎn)擊“鏈接”按鈕后,你會(huì)發(fā)現(xiàn)“文件上傳選項(xiàng)”中的瀏覽服務(wù)器按鈕不見(jiàn)了。

最后弄掉上傳FLASH中的瀏覽服務(wù)器按鈕,打開(kāi)ckeditor\plugins\flash\dialogs\flash.js文件,還是搜索"browseServer"第一次出現(xiàn)的地方,如上圖位置處插入雙引號(hào)內(nèi)的內(nèi)容",style:'display:none;'"。(這個(gè)和上面的幾乎一樣,就不截圖了)。CTRL+S保存該JS文件,出去刷新下自己的ckeditor,點(diǎn)擊“上傳FLASH”按鈕后,你會(huì)發(fā)現(xiàn)瀏覽服務(wù)器按鈕不見(jiàn)了。

至此,一個(gè)從前端到后臺(tái),瀏覽服務(wù)器被全面禁用了的ckeditor誕生了!

更多關(guān)于Laravel相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Laravel框架入門(mén)與進(jìn)階教程》、《php優(yōu)秀開(kāi)發(fā)框架總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》

希望本文所述對(duì)大家基于Laravel框架的PHP程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:
  • Laravel如何友好的修改.env配置文件詳解
  • Nginx中運(yùn)行PHP框架Laravel的配置文件分享
  • Laravel框架環(huán)境與配置操作實(shí)例分析
  • Laravel 前端資源配置教程
  • laravel config文件配置全局變量的例子
  • Laravel數(shù)據(jù)庫(kù)讀寫(xiě)分離配置的方法
  • Laravel 數(shù)據(jù)庫(kù)加密及數(shù)據(jù)庫(kù)表前綴配置方法
  • laravel框架數(shù)據(jù)庫(kù)配置及操作數(shù)據(jù)庫(kù)示例
  • laravel-admin自動(dòng)生成模塊,及相關(guān)基礎(chǔ)配置方法
  • laravel 配置路由 api和web定義的路由的區(qū)別詳解
  • Laravel配置全局公共函數(shù)的方法步驟
  • Laravel5框架自定義錯(cuò)誤頁(yè)面配置操作示例
  • laravel配置Redis多個(gè)庫(kù)的實(shí)現(xiàn)方法
  • nginx實(shí)現(xiàn)一個(gè)域名配置多個(gè)laravel項(xiàng)目的方法示例
  • laravel 框架配置404等異常頁(yè)面
  • Laravel 5.5官方推薦的Nginx配置學(xué)習(xí)教程
  • Laravel Memcached緩存驅(qū)動(dòng)的配置與應(yīng)用方法分析
  • Laravel 5+ .env環(huán)境配置文件詳解

標(biāo)簽:海北 梅河口 黔東 湘西 惠州 濮陽(yáng) 廈門(mén) 文山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Laravel5.6框架使用CKEditor5相關(guān)配置詳解》,本文關(guān)鍵詞  Laravel5.6,框架,使用,CKEditor5,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Laravel5.6框架使用CKEditor5相關(guān)配置詳解》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于Laravel5.6框架使用CKEditor5相關(guān)配置詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章