PHP配置CKEditor上傳圖片
CKEditor的原包中沒有包含圖片的上傳伺服器端處理檔案,其公司的另一款開源產品:CKFinder做了很好的補充。但是要下載這個原始碼再進行配置,雖然方便了很多,但是僅僅為了上傳圖片,卻要使用這麼大的整個系統來使用,確實有點大材小用,我花了一個下午的時間,自己用PHP指令碼寫了一個處理上傳檔案的指令碼程式碼,沒有做更多的安全處理,希望對大家有用。
首先,在你的config.js檔案裡新增如下程式碼:
CKEDITOR.editorConfig = function( config )
{
config.filebrowserImageUploadUrl = './upload.php?type=img';
config.filebrowserFlashUploadUrl = './upload.php?type=flash';
};
以上的配置是上傳要處理到的檔案的地址,你可以根據自己情況進行修改。upload.php檔案如下:
<?php
/* CKEditor_upload.php monkee 2009-11-15 16:47 */ $config=array();
$config['type']=array("flash","img"); //上傳允許type值
$config['img']=array("jpg","bmp","gif"); //img允許字尾 $config['flash']=array("flv","swf"); //flash允許字尾
$config['flash_size']=200; //上傳flash大小上限 單位:KB $config['img_size']=500; //上傳img大小上限 單位:KB
$config['message']="上傳成功"; //上傳成功後顯示的訊息,若為空則不顯示
$config['name']=mktime(); //上傳後的檔案命名規則 這裡以unix時間戳來命名
$config['flash_dir']="/ckeditor/upload/flash"; //上傳flash檔案地址 採用絕對地址 方便upload.php檔案放在站內的任何位置 後面不加"/" $config['img_dir']="/ckeditor/upload/img"; //上傳img檔案地址 採用絕對地址 採用絕對地址 方便upload.php檔案放在站內的任何位置 後面不加"/"
$config['site_url']=""; //網站的網址 這與圖片上傳後的地址有關 最後不加"/" 可留空
//檔案上傳 uploadfile();
function uploadfile() { global $config; //判斷是否是非法呼叫 if(empty($_GET['CKEditorFuncNum'])) mkhtml(1,"","錯誤的功能呼叫請求"); $fn=$_GET['CKEditorFuncNum']; if(!in_array($_GET['type'],$config['type'])) mkhtml(1,"","錯誤的檔案呼叫請求"); $type=$_GET['type']; if(is_uploaded_file($_FILES['upload']['tmp_name'])) { //判斷上傳檔案是否允許 $filearr=pathinfo($_FILES['upload']['name']); $filetype=$filearr["extension"]; if(!in_array($filetype,$config[$type])) mkhtml($fn,"","錯誤的檔案型別!"); //判斷檔案大小是否符合要求 if($_FILES['upload']['size']>$config[$type."_size"]*1024) mkhtml($fn,"","上傳的檔案不能超過".$config[$type."_size"]."KB!"); //$filearr=explode(".",$_FILES['upload']['name']); //$filetype=$filearr[count($filearr)-1]; $file_abso=$config[$type."_dir"]."/".$config['name'].".".$filetype; $file_host=$_SERVER['DOCUMENT_ROOT'].$file_abso;
if(move_uploaded_file($_FILES['upload']['tmp_name'],$file_host)) { mkhtml($fn,$config['site_url'].$file_abso,$config['message']); } else { mkhtml($fn,"","檔案上傳失敗,請檢查上傳目錄設定和目錄讀寫許可權"); } } } //輸出js呼叫 function mkhtml($fn,$fileurl,$message) { $str='window.parent.CKEDITOR.tools.callFunction('.$fn.', \''.$fileurl.'\', \''.$message.'\');'; exit($str); } ?>
相關文章
- 富文字編輯器CKeditor的配置和圖片上傳,看完不後悔
- PHP上傳圖片類PHP
- CKfinder CKeditor 上傳圖片 漢字 亂碼 解決方法
- php圖片上傳之圖片轉換PHP
- php+WebUploader圖片批量上傳PHPWeb
- PHP實現圖片(檔案)上傳PHP
- Retrofit2.0:上傳圖片到PHPPHP
- php圖片上傳之檔案安全PHP
- php5.5CURL圖片上傳廢棄@PHP
- PHP CURL 上傳二進位制流圖片PHP
- Ajax+PHP實現非同步圖片上傳PHP非同步
- PHP仿微信多圖片預覽上傳功能PHP
- php圖片上傳之分散式儲存FastDFSPHP分散式AST
- Retrofit+RxJava上傳圖片上傳圖片到後臺RxJava
- 【easyui 】上傳圖片UI
- 上傳圖片jsJS
- 圖片上傳及圖片處理
- 配置Django-TinyMCE元件支援上傳圖片功能Django元件
- php 非同步上傳圖片幾種方法總結PHP非同步
- java,springboot + thymeleaf 上傳圖片、刪除圖片到伺服器、本地,壓縮圖片上傳(有些圖片會失真),原圖上傳JavaSpring Boot伺服器
- 配置CKEditor顯示的圖示及配置
- 多圖片formpost上傳ORM
- input file圖片上傳
- 圖片檔案上傳
- php Nginx修改上傳視訊或者大圖片的配置PHPNginx
- PHP+jQuery+Ajax實現多圖片上傳介紹PHPjQuery
- 編寫還可以的php 圖片上傳類程式碼PHP
- thinkphp達到UploadFile.class.php圖片上傳功能PHP
- vue 上傳圖片進行壓縮圖片Vue
- Ueditor 上傳圖片自動新增水印(只能上傳圖片,上傳檔案報錯)
- 學姐,影片上傳不了,我上傳了圖片
- PHP+七牛雲端儲存上傳圖片程式碼片段PHP
- Laravel 使用 FastDFS 上傳圖片LaravelAST
- koa 圖片上傳詳解
- Vue圖片裁剪上傳元件Vue元件
- 圖片上傳方案詳解
- js上傳圖片壓縮JS
- vue圖片預覽上傳Vue