最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2019年07月22日 10:05:05   作者:koastal  
這篇文章主要介紹了Laravel5.6框架使用CKEditor5相關(guān)配置,結(jié)合實例形式詳細分析了Laravel5.6框架整合CKEditor5編輯器相關(guān)操作技巧與注意事項,需要的朋友可以參考下

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

Laravel 相關(guān)配置

文件的上傳與存儲

參考文檔:

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)建符號鏈接

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

編寫文件處理方法

/**
 * 處理上傳文件
 * @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,'文件類型不合法');
  }
  //檢查大小
  Log::info('size',[$filename=>$size]);
  if($size > 10*1024*1024){
    return $this->CKEditorUploadResponse(0,'文件大小超過限制');
  }
  //保存文件
  $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)容時,自動上傳圖片路由
Route::post('/create/uploadFile&responseType=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保護

相關(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

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

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

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

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

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

這里寫圖片描述 

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

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

基本思路是從一下三個文件中,查找關(guān)鍵字browseServer,通過設(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” 三個功能中都有“瀏覽服務(wù)器”按鈕,所以我們要修改3個JS文件,先打開ckeditor文件夾中的ckeditor\plugins\image\dialogs\image.js文件,CTRL+F,搜索"browseServer”,找到該詞第一次出現(xiàn)的位置,在后面添加雙引號內(nèi)的內(nèi)容",style:'display:none;'"。如下圖:

ckeditor 中去掉瀏覽服務(wù)器按鈕

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

ckeditor 中去掉瀏覽服務(wù)器按鈕

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

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

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

ckeditor 中去掉瀏覽服務(wù)器按鈕

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

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

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

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

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

相關(guān)文章

  • 使用swoole擴展php websocket示例

    使用swoole擴展php websocket示例

    WebSocket規(guī)范的目標(biāo)是在瀏覽器中實現(xiàn)和服務(wù)器端雙向通信。雙向通信可以拓展瀏覽器上的應(yīng)用類型,如果你想要用PHP來寫websocket應(yīng)用,那swoole_framework一定是最好的選擇,需要的朋友可以參考下
    2014-02-02
  • PHP實現(xiàn)微信對賬單處理

    PHP實現(xiàn)微信對賬單處理

    這篇文章主要為大家詳細介紹了PHP實現(xiàn)微信對賬單處理,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • Zend Framework使用Zend_Loader組件動態(tài)加載文件和類用法詳解

    Zend Framework使用Zend_Loader組件動態(tài)加載文件和類用法詳解

    這篇文章主要介紹了Zend Framework使用Zend_Loader組件動態(tài)加載文件和類用法,結(jié)合實例形式分析了Zend_Loader組件實現(xiàn)文件自動加載與屬性判斷的相關(guān)使用技巧,需要的朋友可以參考下
    2016-12-12
  • Laravel事件監(jiān)聽器用法實例分析

    Laravel事件監(jiān)聽器用法實例分析

    這篇文章主要介紹了Laravel事件監(jiān)聽器用法,結(jié)合實例形式分析了Laravel事件監(jiān)聽器的注冊、使用相關(guān)流程及操作技巧,需要的朋友可以參考下
    2019-03-03
  • NativePHP使用PHP創(chuàng)建桌面應(yīng)用程序

    NativePHP使用PHP創(chuàng)建桌面應(yīng)用程序

    這篇文章主要為大家介紹了NativePHP使用PHP創(chuàng)建桌面應(yīng)用程序,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • php fckeditor 調(diào)用的函數(shù)

    php fckeditor 調(diào)用的函數(shù)

    showfck() 編輯器調(diào)用函數(shù)
    2009-06-06
  • 基于php設(shè)計模式中單例模式的應(yīng)用分析

    基于php設(shè)計模式中單例模式的應(yīng)用分析

    本篇文章是對php設(shè)計模式中單例模式的應(yīng)用進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • PHP 芝麻信用接入的注意事項

    PHP 芝麻信用接入的注意事項

    本文給大家整理了接入芝麻api借口的兩點注意事項,對php 芝麻信用接入感興趣的朋友通過本文一起學(xué)習(xí)吧
    2016-12-12
  • PHP 使用memcached簡單示例分享

    PHP 使用memcached簡單示例分享

    在很多場合,我們都會聽到 memcached 這個名字,但很多同學(xué)只是聽過,并沒有用過或?qū)嶋H了解過,只知道它是一個很不錯的東東。這里簡單介紹一下,memcached 是高效、快速的分布式內(nèi)存對象緩存系統(tǒng),主要用于加速WEB動態(tài)應(yīng)用程序。今天我們就先來簡單探討下memcached的用法
    2015-03-03
  • form自動提交實例講解

    form自動提交實例講解

    下面小編就為大家?guī)硪黄猣orm自動提交實例講解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07

最新評論

海城市| 大足县| 馆陶县| 东乌珠穆沁旗| 临清市| 府谷县| 西丰县| 鄂托克旗| 东明县| 新昌县| 通道| 奉新县| 砚山县| 融水| 平南县| 达日县| 滁州市| 苍山县| 固镇县| 中西区| 巴彦淖尔市| 吕梁市| 行唐县| 仁布县| 金阳县| 常熟市| 瑞丽市| 仙居县| 留坝县| 伽师县| 乌拉特后旗| 大安市| 靖江市| 子洲县| 新田县| 宜昌市| 贡觉县| 衡东县| 嵊州市| 水富县| 邵阳县|