Yii结合CKEditor实现图片上传功能_PHP教程
这几天做的一个项目中需要在所见即所得编辑器中实现图片上传的功能,我因为比较喜欢CKEditor的界面而选择了它。虽然有跟CKEditor配合良好的CKFinder,不过这个东东的功能太复杂,简单看了下CKEdtior的文档,发现这个功能还是可以自己实现而不用借助CKFinder的。
下面代码虽然基于Yii Framework的,但是用其他框架或者语言思路却是完全一样的,有需要的童鞋可以参考一下。
首先要让CkEditor出现图片上传的功能,需要配置编辑器的filebrowserImageUploadUrl属性:
CKEDITOR.replace( 'editor1',
{
filebrowserUploadUrl : '/uploader/upload.php',
filebrowserImageUploadUrl : '/uploader/upload.php?type=Images'
});
然后在对应的URL上实现图片上传的功能,并向CKEditor返回特定格式的HTML代码,CKEditor就能正常预览并插入图片了。
下面只截取控制器的部分代码,Controller部分我是这样实现的:
/**
* 保存上传的图片
*
* @return string javascript code
* @author lfyzjck
**/
public function actionImg($type, $CKEditor, $CKEditorFuncNum, $langCode = 'zh-cn')
{
if(empty($CKEditorFuncNum) || $type != 'Images'){
$this->mkhtml($CKEditorFuncNum,'','错误的函数调用');
}
if(isset($_FILES['upload'])){
//获取关于图片上传配置
$options = Options::model()->findByPk(1);
$form = new UploadForm('image',$options);
$form->upload = CUploadedFile::getInstanceByName('upload');
if($form->validate()){
//文件名:时间+源文件名
$target_filename = date('Ymd-hm',time()).$form->upload->getName();
$path = Yii::app()->basePath.'/../uploads/'.$target_filename; //图片保存路径
$form->upload->saveAs($path);
$this->mkhtml($CKEditorFuncNum,Yii::app()->baseUrl.'/uploads/'.$target_filename, "上传成功");
}
else{
$this->mkhtml($CKEditorFuncNum,'',$form->getError('upload'));
}
}
}
/**
* 返回CKEditor的提示信息
*
* @return void
* @author lfyzjck
**/
private function mkhtml($fn, $fileurl, $message)
{
$str = '';
exit($str);
}
需要特别说明的mkhtml函数,他会调用CKEditor的函数产生提示信息。上传成功的时候将图片链接返回,CKEditor会根据URL生成图片预览。
然后是UploadForm的代码,这里会验证图片的格式和大小是否符合要求。
class UploadForm extends CFormModel
{
public $upload;
private $options;
private $type;
public function __construct($type, $options){
$this->options = $options;
$this->type = $type;
}
/**
* Declares the validation rules.
* The rules state that username and password are required,
* and password needs to be authenticated.
*/
public function rules()
{
return array(
array('upload', 'file',
'types' => $this->options->getAttribute("allow_".$this->type."_type"),
'maxSize' => 1024 * (int)$this->options->getAttribute("allow_".$this->type."_maxsize"),
'tooLarge'=>'文件大小超过限制',
),
);
}
}

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Dengan penggunaan aplikasi web yang meluas, mencipta editor teks yang kaya telah menjadi lebih biasa. CKEditor diiktiraf secara meluas sebagai salah satu penyunting teks kaya terbaik kerana kebolehsesuaian yang baik dan kemudahan penggunaannya. Artikel ini akan memperkenalkan cara mencipta editor teks kaya menggunakan PHP dan CKEditor. Pengenalan kepada CKEditor CKEditor ialah penyunting teks kaya merentas platform yang dilaksanakan melalui JavaScript. Ia menyediakan bar alat yang intuitif dan mudah difahami, termasuk gaya fon, pemformatan, grafik, dsb.

Langkah-langkah untuk melaksanakan muat naik dan paparan imej menggunakan rangka kerja CakePHP Pengenalan: Dalam aplikasi web moden, muat naik dan paparan imej adalah keperluan fungsian biasa. Rangka kerja CakePHP menyediakan pembangun dengan fungsi yang berkuasa dan alatan yang mudah, menjadikannya mudah dan cekap untuk memuat naik dan memaparkan imej. Artikel ini akan memperkenalkan anda kepada cara menggunakan rangka kerja CakePHP untuk memuat naik dan memaparkan imej. Langkah 1: Buat borang muat naik fail Pertama, kita perlu mencipta borang dalam fail paparan untuk pengguna memuat naik imej. Berikut adalah contoh

Applet WeChat melaksanakan fungsi muat naik gambar Dengan perkembangan Internet mudah alih, applet WeChat telah menjadi bahagian yang amat diperlukan dalam kehidupan orang ramai. Program mini WeChat bukan sahaja menyediakan pelbagai senario aplikasi, tetapi juga menyokong fungsi yang ditentukan oleh pembangun, termasuk fungsi muat naik imej. Artikel ini akan memperkenalkan cara untuk melaksanakan fungsi muat naik imej dalam applet WeChat dan memberikan contoh kod khusus. 1. Kerja persediaan Sebelum mula menulis kod, kita perlu memuat turun dan memasang alat pembangun WeChat dan mendaftar sebagai pembangun WeChat. Pada masa yang sama, anda juga perlu memahami WeChat

Cara menggunakan PHP dan Vue untuk melaksanakan fungsi muat naik imej Dalam pembangunan web moden, fungsi muat naik imej adalah keperluan yang sangat biasa. Artikel ini akan memperkenalkan secara terperinci cara menggunakan PHP dan Vue untuk melaksanakan fungsi muat naik imej, dan memberikan contoh kod khusus. 1. Bahagian hadapan (Vue) Pertama, anda perlu mencipta borang untuk memuat naik imej pada bahagian hadapan. Kod khusus adalah seperti berikut:<template><div><inputtype="fil

Cara mengendalikan muat naik imej dan pemampatan dalam pembangunan teknologi Vue Dalam aplikasi web moden, muat naik imej adalah keperluan yang sangat biasa. Walau bagaimanapun, disebabkan penghantaran rangkaian dan sebab storan, memuat naik terus imej asal resolusi tinggi boleh mengakibatkan kelajuan muat naik yang perlahan dan pembaziran ruang storan yang besar. Oleh itu, memuat naik dan memampatkan imej adalah sangat penting. Dalam pembangunan teknologi Vue, kami boleh menggunakan beberapa penyelesaian sedia untuk mengendalikan muat naik dan pemampatan imej. Berikut akan memperkenalkan cara menggunakan vue-upload-comone

Tajuk: Masalah muat naik dan pemangkasan imej dan penyelesaian dalam pembangunan Vue Pengenalan: Dalam pembangunan Vue, muat naik dan pemangkasan imej adalah keperluan biasa. Artikel ini akan memperkenalkan masalah muat naik dan pemangkasan imej yang dihadapi dalam pembangunan Vue, dan memberikan penyelesaian serta contoh kod khusus. 1. Masalah muat naik imej: Memilih butang muat naik imej tidak boleh mencetuskan kotak pemilihan fail: Masalah ini biasanya disebabkan oleh peristiwa tidak terikat dengan betul atau peristiwa terikat tidak berkuat kuasa. Anda boleh mengikat peristiwa klik dalam templat dan mencetuskan kotak pemilihan fail dalam kaedah yang sepadan. Contoh kod:

Dengan perkembangan Internet, muat naik imej telah menjadi ciri penting dalam pembangunan laman web dan aplikasi. Dalam bidang PHP, ThinkPHP6 telah menjadi rangka kerja pembangunan yang sangat popular. Dalam artikel ini, kami akan memperkenalkan cara menggunakan ThinkPHP6 untuk melaksanakan muat naik imej. 1. Buat projek dan pengawal Pertama, kita perlu mencipta projek ThinkPHP6 baharu. Anda boleh menggunakan Komposer untuk memasangnya, atau anda boleh memuat turun versi terkini daripada tapak web rasmi. Selepas pemasangan selesai, masukkan dalam konsol

Dengan perkembangan berterusan teknologi pengkomputeran awan, sandaran data telah menjadi sesuatu yang mesti dilakukan oleh setiap perusahaan. Dalam konteks ini, amat penting untuk membangunkan sistem sandaran awan yang sangat tersedia. Rangka kerja PHP Yii ialah rangka kerja berkuasa yang boleh membantu pembangun membina aplikasi web berprestasi tinggi dengan cepat. Berikut akan memperkenalkan cara menggunakan rangka kerja Yii untuk membangunkan sistem sandaran awan yang sangat tersedia. Mereka bentuk model pangkalan data Dalam rangka kerja Yii, model pangkalan data adalah bahagian yang sangat penting. Kerana sistem sandaran data memerlukan banyak jadual dan hubungan
