TOP MẸO VẶT - MẸO VẶT HAY CHO CUỘC SỐNG TOP MẸO VẶT - MẸO VẶT HAY CHO CUỘC SỐNG
9/10 102 bình chọn

Tích hợp KCFinder vào CKEditor trên Codeigniter 3

23:56 Thêm bình luận
Xin chào các bạn,
Việc tích hợp các trình các WYSIWYG Editor vào website để tối ưu hóa việc viết bài, cũng như chèn ảnh vào bài viết đang ngày càng phổ biến và gần như không thể thiếu với mỗi website. Tuy nhiên các công cụ này hầu như không tích hợp sẵn các công tụ Upload ảnh trực tiếp từ thiết bị, hoặc chỉ có các plugin kèm theo nhưng tính phí.
Bài viết ngắn dưới đây tôi tổng hợp cách tích hợp plugin upload ảnh miễn phí KCFinder vào CKEditor, đã chạy thử thành công, hi vọng sẽ hữu ích với những bạn đang cần.

Với những thiết lập dưới đây ta có thể:

- Tích hợp được KCFinder (free) vào CKEditor thay vì CKFinder (mất phí)
- Phân loại thư mục upload ảnh dựa vào session login của từng User

Chú ý nội dung

- Được thực hiện trên Codeigniter 3
- Các phiên bản CKEditor 4.6.2 & KCFinder 3.12 tại thời điểm 04/2017
- Tập trung vào việc tích hợp KCFinder trên CKEditor, nên quá trình cài đặt CKEditor xem như đã hoàn tất

Chuẩn bị

1. Tải CKEditor (Standard, Full...) tại: http://ckeditor.com/download
2. Tải KCFinder tại: https://kcfinder.sunhater.com/download
3. Cài đặt CKEditor
4. Giải nén kcfinder và chép vào thư mục ngang hàng với ckeditorSau khi làm xong kết quả như hình dưới (cấu trúc trên website của tôi)

Cấu hình
1. Mở file config.js trong ckeditor, thêm vào như dưới đây

CKEDITOR.editorConfig = function( config ) {
//KCFinder
config.filebrowserBrowseUrl = '/public/admin/plugins/kcfinder/browse.php?opener=ckeditor&type=files';
config.filebrowserImageBrowseUrl = '/public/admin/plugins/kcfinder/browse.php?opener=ckeditor&type=images';
config.filebrowserFlashBrowseUrl = '/public/admin/plugins/kcfinder/browse.php?opener=ckeditor&type=flash';
config.filebrowserUploadUrl = '/public/admin/plugins/kcfinder/upload.php?opener=ckeditor&type=files';
config.filebrowserImageUploadUrl = '/public/admin/plugins/kcfinder/upload.php?opener=ckeditor&type=images';
config.filebrowserFlashUploadUrl = '/public/admin/plugins/kcfinder/upload.php?opener=ckeditor&type=flash';
//... (các config khác của CKEditor)
}


2. Mở file browse.php trong kcfinder, thêm vào vào nội dung sau:
ob_start();
$temp_system_path = '../../../../system';
$temp_application_folder = '../../../../application'; include('../../../../index.php'); ob_end_clean();
--> đường dẫn trong include, $temp_system_path, $temp_application_folder mục đích trỏ đến file index.php của CI ở thư mục gốc.
--> Tùy vào đường dẫn thực tế trên website của bạn mà thêm bớt các dấu ../ phía trước cho phù hợp



3. Mở file index.php ở thư mục gốc, sửa như dưới đây:(Nếu không muốn sửa file index.php gốc, các bạn xem ghi chú cuối bài)
Tìm dòng: $system_path = 'system';
Sửa thành: $system_path = isset($temp_system_path) ? $temp_system_path : 'system';
Tìm dòng: $application_folder = 'application';
Sửa thành: $application_folder = isset($temp_application_folder) ? $temp_application_folder : 'application';
--> Có thể thêm dòng mới và comment // dòng cũ


4. Cấu hình SESSION
- Tại action đăng nhập thành công, cùng với việc set SESSION cho user ta thêm vào 2 session ['KCFINDER']['disabled'] = false;['KCFINDER']['uploadURL'] = 'duong/dan/den/thu/muc/upload';
// Check xong thông tin login
// Set data for session
$sess_data = array(
'id' => $id,
'fullname' => $user_fullname,
'KCFINDER' => array(
'disabled' => false, // Bật kcfinder cho phép upload (mặc định = true;)
'uploadURL' => base_url().'uploads/images/'.$user_fullname
)
);
// Hoặc có thể nhập theo cách dưới đây
$sess_data['id'] = $id;
$sess_data['fullname'] = $user_fullname;
$sess_data['KCFINDER']['disabled'] = false;
$sess_data['KCFINDER']['uploadURL'] = base_url().'uploads/images/'.$user_fullname;
// Sau khi nhập xong, thực hiệt set session
$this->session->set_userdata($sess_data);


5. Kết quả
Sau khi thực hiện xong, vào phần soạn thảo với CKEditor, nhấp vào nút chèn ảnh, sẽ có kết quả như hình dưới

Nhấn vào nút Duyệt máy chủ (Browse Server), sẽ cho ta upload và quản lý ảnh

** Ghi chú về file index.php
Nếu các bạn không muốn sửa trực tiếp trên file index.php ở thư mục gốc, hãy copy nó dán vào thư mục nào đó trong kcfinder, ví du thư mục config.
Sau khi copy index.php xong sửa 2 dòng:
$system_path = '../../../../system'; // Trỏ về thư mục system
$application_folder = '../../../../application'; //Trỏ về thư mục application
Sau đó mở file browse.php phía ngoài thư mục kcfinder xóa 2 dòng:
(Nếu bạn bỏ qua cấu hình phía trên thì không có 2 dòng này)
$temp_system_path = '../../../../system';
$temp_application_folder = '../../../../application';
Sau đó sửa nội dung include thành: indclue(config/index.php);
Kết thúc bài viết, chúc các bạn thực hiện thành công!
./.
Một số link đã tham khảo:
</KT_201704>
** Update (Codeigniter 3.1.7)
Mở file browse.php của KCFinder, sau dòng ob_end_clean(), thêm vào nội dung dưới đây:
  • Nếu sử dụng session driver là files (application/config/config.php)
$CI =& get_instance();
$CI->load->library('session');
  • Nếu sử dụng session driver là database
$CI =& get_instance();
$CI->db = $CI->load->database('default', TRUE); //TRUE mean: enable Query Builder
$CI->load->library('session');

Hướng dẫn cài đặt mô hình HMVC trên CodeIgniter

21:03 Thêm bình luận

Mô hình HMVC trên CodeIgniter là một mô hình cấu trúc vô cùng mạnh mẽ. Được thiết kế tối ưu hóa để áp dụng cho các hệ thống lớn. Nó giúp khả năng mở rộng vả quản lý hệ thống rất đơn giản. Trong bài này mình xin trình bày cách cài đặt mô hình HMVC trên Codeigniter

Các công cụ cần thiết.
- Plugin mô hình HMVC trên CodeIgniter https://github.com/jenssegers/CodeIgniter-HMVC-Modules
http://ellislab.com/codeigniter
http://filehippo.com/download_notepad
Trong bài Hướng dẫn cài đặt CodeIgniter theo mô hình MVC chúng ta đã biết về cấu trúc và những ưu điểm của mô hình này. Tuy nhiên, ta thấy rằng nếu hệ thống được mở rộng hơn ra thì sẽ sinh ra rất nhiều file trong cả 3 thư mục views, models và controllers. Khi đó hệ thống rất khó quản lý và bảo trì về sau này. Mô hình HMVC ra đời chính vì lý do này. Những ưu điểm của mô hình HMVC trên CodgeIgniter bao gồm :

- Khả năng Mô-đun hóa : Giảm sự phụ thuộc giữa các phần riêng biệt của hệ thống. 
Việc cài đặt mô hình HMVC trên Codeigniter được thực hiện theo các bước như sau.
Bước 1. Download plugin mô hình HMVC trên CodeIgniter.
Download file plugin về và giải nén ra ta sẽ có 2 phần là core và third_party như hình bên dưới.
Bước 2. Cài đặt vào hệ thống.
Đầu tiên copy 2 thư mục này vào thư mục application trong C:\AppServ\www\ci-test\application.

Tiếp theo, ta tạo một thư mục tên modules trong thư mục application
Sau đó, ta tạo thêm 1 thư mục tên là home trong thư mục modules. Đây chính là một phần của hệ thống theo mô hình HMVC. Tiếp sau đó, ta lần lượt tạo thêm 3 thư mục bao gồm controllersmodelsviews trong thư mục home vừa tạo trước đó.
Bước 3. Bắt đầu xây dựng module đầu tiên.
Trước tiên, ta tạo file home.php trong thư mục controllers C:\AppServ\www\ci-test\application\modules\home\controllers. Sau đó, copy đoạn code sau vào file này.
 <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Home extends CI_Controller{

public function __construct(){
parent::__construct();
}

public function index(){
// blank
}

public function user(){
$data['sz_Hmvc'] = "Cài đặt mô hình HMVC trên CodeIgniter !";
$this->load->view('home-template', $data);
}

}
Tiếp theo ta tạo tiếp file home-template.php vào thư mục views trong C:\AppServ\www\ci-test\application\modules\home\views. Rồi copy đoạn code sau đây vào file vừa tạo.
 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Title | Hướng dẫn cài đặt Codeigniter theo mô hình HMVC</title>
</head>
<body>
<div style="align:center;">
<h2>Hướng dẫn cài đặt Codeigniter theo mô hình HMVC</h2>
<?php echo $sz_Hmvc; ?>
</div>
</body>
Tiếp theo ta mở file routes.php trong thư mục config.php trong C:\AppServ\www\ci-test\application\config để điều hướng lại đường dẫn. Ta sẽ copy đoạn code sau vào trong file này.
 $route['default_controller'] = "home/index";
$route['home'] = "home/user";
Hướng dẫn cài đặt mô hình HMVC trên CodeIgniter
Bước 4. Chạy hệ thống trên trình duyệt.
Để kiểm tra xem quá trình cài đặt mô hình HMVC trên Codeigniter có thành công hay không, ta mở trình duyệt lên và gõ đường dẫn này vào http://localhost/ci-test/home/user.
Trên đây mình đã trình bày với các bạn cách thức cài đặt mô hình HMVC trên Codgeigniter. Sau này các bạn có thể mở rộng hệ thống theo quy trình tương tự (như hình bên dưới). Trong các bài tiếp theo chúng ta cũng bắt đầu sử dụng mô hình HMVC này để xây dựng dần các chức năng của một hệ thống hoàn chỉnh.
File mô hình HMVC trên Codeigniter
huong-dan-cai-dat-mo-hinh-hmvc-tren-codeigniter.zip
Chúc các bạn thành công :)
Nguồn: http://thuthuatvietnam.com/codeigniter

Cách tích hợp CKFinder vào CodeIgniter

21:01 Thêm bình luận

CKFinder là một bộ công cụ mạnh mẽ dùng để upload, quản lý ảnh. Trong khi đó CKEditor lại là editor biên soạn nội dung mạnh mẽ, và việc tích hợp CKFinder vào bộ CKEditor sẽ giúp việc biên soạn nội dung trở nên đơn giản hơn rất nhiều..

Như bạn đã biết bài viết không thể thiếu hình ảnh, khi lời nói không thể mô tả được hết điều bạn muốn diễn đạt, hình ảnh là biện pháp hữu hiệu. CKFinder có giao diện quản lý ảnh thân thiện, dễ sử dụng. Bài viết hướng dẫn tích hợp CKFinder vào CKEditor.
Các công cụ cần thiết.
Các bước thực hiện việc tích hợp CKFinder.
1. Download bộ CKFinder.
Các bạn truy cập theo link ở trên để download bộ CKFinder về. Sau đó các bạn giải nén file download ra và copy bộ CKFinder vào thư mục public theo cấu trúc như hình bên dưới.
2. Cấu hình cần thiết.
Để CKFinder hoạt động được, các bạn cần phải cấu hình và cài đặt CKEditor trước. Các bạn hãy xem lại bài tích hợp CKEditor vào CodeIgniter để tìm hiểu chi tiết.
Tiếp theo, các bạn cần load bộ CKFinder lên, bằng cách sử dụng đoạn mã sau.
<script type="text/javascript" src="<?php echo base_url();?>public/ckfinder/ckfinder.js"></script>
Và chi tiết toàn bộ file template các bạn có thể thấy trong đoạn chương trình bên dưới.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Thủ thuật Việt Nam</title>
<script type="text/javascript" src="<?php echo base_url();?>public/js/jquery-1.5.1.min.js"></script>
<script type="text/javascript" src="<?php echo base_url();?>public/ckeditors/ckeditor.js"></script>
<script type="text/javascript" src="<?php echo base_url();?>public/ckfinder/ckfinder.js"></script>
</head>
<body>
<div id="body">
<h2>Cách tích hợp CKFinder vào CodeIgniter</h2>
<form action="" method="post" id="form">
<fieldset>
<legend>Sử dụng CKFinder trên CodeIgniter project</legend>
<div>
<span class="right"><textarea id="txt_content" name="txt_content" style="width:100%; height:200px;"></textarea></span>
</div>
<div><input type="submit" id="save" value="Submit" /></div>
</fieldset>
</form>
</div>
</body>
</html>
<script type="text/javascript">
$(function() {
var editor = CKEDITOR.replace('txt_content',
{
filebrowserBrowseUrl : '<?php echo base_url()."public/ckfinder/ckfinder.html"; ?>',
filebrowserImageBrowseUrl : '<?php echo base_url()."public/ckfinder/ckfinder.html?Type=Images";?>',
filebrowserFlashBrowseUrl : '<?php echo base_url()."public/ckfinder/ckfinder.html?Type=Flash" ?>',
filebrowserUploadUrl : '<?php echo base_url()."public/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Files"?>',
filebrowserImageUploadUrl : '<?php echo base_url()."public/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Images";?>',
filebrowserFlashUploadUrl : '<?php echo base_url()."ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Flash";?>',
filebrowserWindowWidth : '800',
filebrowserWindowHeight : '480'
});
CKFinder.setupCKEditor( editor, "<?php echo base_url().'public/ckfinder/'?>" );
})
</script>
Trong đó.
  • Đoạn var editor = CKEDITOR.replace('txt_content', {}) dùng để tải bộ CKEditor thay thế cho thành phần textarea có name và id là 'txt_content'. Chúng ta có thể truyền các tham số giá trị để thiết lập cho bộ CKFinder sẽ tích hợp vào như đoạn chương trình ở trên.
  • Đoạn CKFinder.setupCKEditor( editor, "<?php echo base_url().'public/ckfinder/'?>" ) dùng để liên bộ CKFinder với CKEditor.
3. Thiết lập lại việc Authentication trong file config của CKFinder.
Để CKFinder hoạt động được, chúng ta cần phải làm thêm một bước nữa đó là thiết lập lại giá trị Authentication của CKFinder.
Các bạn mở file config.php trong thư mục ckfinder và chỉnh sửa lại giá trị trả về của hàm CheckAuthentication() từ false thành true
4. Kiểm tra kết quả.
Các bạn nhập đường link sau đây vào trình duyệt để xem kết quả.
Các bạn có thể download module article đi kèm về để có thể thực hành tại nhà.
Chúc các bạn thành công :)

Tích hợp CKEditor vào CodeIgniter

20:59 Thêm bình luận

Việc tích hợp CKEditor vào website giúp đơn giản hóa quá trình xử lý bài viết cho website. Nếu không có các editor dạng CKEditor chắc chắn việc biên tập nội dung sẽ không hề đơn giản. Trong bài này chúng ta sẽ tìm hiểu cách tích hợp CKEditor vào CodeIgniter.

Các công cụ cần thiết.
Chúng ta sẽ thực hiện tích hợp bằng các bước như dưới đây.
1. Download bộ công cụ CKEditor.
Các bạn truy cập vào link ở trên để download bộ CKEditor mới nhất về. Chúng ta nên download bản standard vì nó có khá đầy đủ chức năng và khá là nhẹ.
Các bạn cũng sẽ phải download thêm bộ thư viện jquery về để tích hợp vào. Vì CKEditor phải có jquery mới có thể hoạt động được.
Sau khi download và giải nén ra ta có được một bộ ckeditors và bộ jquery.min.js.
Các bạn copy bộ ckeditors vào trong thư mục public và jquery.min.js vào thư mục public/js. Cấu trúc như hình dưới
2. Tạo mô-đun article.
Chúng ta tạo một mô-đun tên là article trong thư mục modules với cấu trúc như sau.
Trong thư mục controllers chúng ta sẽ tạo một file tên là article.php, và copy đoạn code bên dưới vào.
<?php 

class Article extends CI_Controller
{

public function __construct()
{
parent::__construct();
}


public function index()
{
$this->load->view('article-template');
}

}
Trong thư mục views chúng ta tạo một file tên là article-template.php, với nội dung là
<!DOCTYPE html>
<html lang="en">
<head>
<style type="text/css">
#body{margin:10px auto; width: 800px; font-size: 90%; }
form {width: 600px; margin: 40 auto;}
form div{padding: 0 0 5px 0;}
label {width: 120px; display: block; float: left; clear: left; font-weight: bold;}
span.error p{width: auto; padding: 0 0 0 120px; font-style: italic; color: red; font-size: 90%;}
span.success {color: green;}
.form{ width: 150px;}
</style>
<meta charset="utf-8">
<title>Thủ thuật Việt Nam | Hướng dẫn tích hợp CKEditor vào CodeIgniter</title>
<script type="text/javascript" src="<?php echo base_url();?>public/js/jquery-1.5.1.min.js"></script>
<script type="text/javascript" src="<?php echo base_url();?>public/ckeditors/ckeditor.js"></script>
</head>
<body>
<div id="body">
<h2>Hướng dẫn tích hợp CKEditor vào CodeIgniter</h2>
<form action="" method="post" id="form">
<fieldset>
<legend>Hướng dẫn tích hợp CKEditor vào CodeIgniter</legend>
<div>
<span class="right"><textarea id="txt_content" name="txt_content" style="width:100%; height:200px;"></textarea></span>

</div>
<div><input type="submit" id="save" value="Save changes" /></div>
</fieldset>
</form>
</div>
</body>
</html>
<script type="text/javascript">
$(function() {
if(CKEDITOR.instances['txt_content']) {
CKEDITOR.remove(CKEDITOR.instances['txt_content']);
}
CKEDITOR.config.width = 600;
CKEDITOR.config.height = 150;
CKEDITOR.replace('txt_content',{});
})
</script>
3. Thiết lập route của hệ thống.
Để truy cập được vào module article ta cần điều hướng lại hệ thống.
Các bạn mở file routes.php trong thư mục config. Sau đó thêm đoạn mã sau đây vào.
// editor
$route['article'] = "article/index";
3. Chạy chương trình trên trình duyệt.
Để kiểm tra kết quả việc tích hợp CKEditor vào CodeIgniter như thế nào, chúng ta mở firefox ra và gõ đường link sau vào http://localhost/ci-test/article/
Kết quả sẽ như bên dưới nếu các bạn cấu hình đúng các bước như trên.
Các bạn có thể download mô-đun article ở bên dưới về thực hành thêm tại nhà.
Chúc các bạn thành công :)

Hướng dẫn cài đặt tích hợp CKFinder vào CKEditor

20:51 Thêm bình luận

Mở đầu

Trong bài này mình sẽ hướng dẫn các bạn tích hợp CKFinder vào CKEditor với ngôn ngữ là PHP. CKEditor là một công cụ nổi tiếng để soạn thảo các đoạn văn bản có độ tùy biến cao, CKFinder là một công cụ upload và quản lý file rất mạnh mẽ. Cũng có nhiều plugin khác với chức năng tương tự, nhưng CKEditor vs CKFinder vẫn chiếm tỉ lệ lớn trong lập trình web.

Hỗ trợ tốt với PHP, ASP.NET, JAVA …
Ở trong bài viết này, mình sẽ hướng dẫn các bạn cài đặt CKEditor và tích hợp CKFinder vào nó để tăng cường sức mạnh, sử dụng phiên bản dành cho PHP.
Đầu tiên các bạn download CKEditor và CKFinder tại đây : DOWNLOAD
CKFinder để luôn trong CKEditor cho dễ quản lý, vì 2 cái này luôn đi vs nhau.
Tạo một project, folder chứa mã nguồn để làm ví dụ. Các bạn có thể áp dụng vào Project của các bạn 1 cách tương tự, áp dụng vào các Framework PHP Codeigniter, Laravel…Vì là plugin của jQuery nên file jQuery.js là không thể thiếu, cấu trúc folder của chúng ta sẽ như sau.

Các bạn mở file index.php lên vào add các plugin vào như sau
<!DOCTYPE html>
<html lang="vi">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Demo CKEditor & CKFinder - aduka.asia</title>

<script src="jquery-3.2.1.min.js"></script>
<script src="ckeditor/ckeditor.js"></script>
<script src="ckeditor/ckfinder/ckfinder.js"></script>
</head>
<body>

</body>
</html>

1. Cài đặt CKEditor

CKEditor được tích hợp thông qua tag textarea, đặt một cái id tùy các bạn, ở đây mình đặt id="editor" và viết đoạn code jQuery để gọi CKEditor ra
<textarea id="editor" cols="30" rows="10"></textarea>
<script>
var editor = CKEDITOR.replace( 'editor' );
</script>
Bây giờ các bạn mở trình duyệt ra và gõ địa chỉ localhost vào project demo của mình, kết quả sẽ hiển thị như sau.
Như vậy là đã cài đặt CKEditor xong, bây giờ hãy click vào phần khoanh đỏ ở trên, nó sẽ hiển thị ra phần upload ảnh của CKEditor.
Nó ko có phần chọn ảnh ở máy tính mà chỉ có phần điền URL ảnh vào. Khá bất tiện đúng không ? Bây giờ mình cần tích hợp thêm CKFinder vào cho nó đẳng cấp nhé !

2. Cài đặt CKFinder vào CKEditor

Đầu tiên cũng cần phải require file ckfinder.js vào trong template như ckeditor.js
Các bạn truy cập vào file : ckeditor/config.js và paste đoạn code sau, có nhiệm vụ là từ CKEditor gọi CKFinder ra.
CKEDITOR.editorConfig = function( config ) {
config
.filebrowserBrowseUrl = './ckeditor/ckfinder/ckfinder.html';
config
.filebrowserImageBrowseUrl = './ckeditor/ckfinder/ckfinder.html?type=Images';
config
.filebrowserFlashBrowseUrl = './ckeditor/ckfinder/ckfinder.html?type=Flash';
config
.filebrowserUploadUrl = './ckeditor/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Files';
config
.filebrowserImageUploadUrl = './ckeditor/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Images';
config
.filebrowserFlashUploadUrl = './ckeditor/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Flash';
};
với đoạn code add thẳng vào file config.js như này thì chỗ nào có ckeditor thì ckfinder sẽ đi kèm luôn, mà không cần phải khai báo thủ công vào mỗi đoạn HTML nữa. Mở lại phần insert ảnh kia sẽ thấy có phần “Duyệt máy chủ”, vậy là đã add thành công CKFinder vào rồi đó ! Nhưng khi ấn vào “Duyệt máy chủ” để tải ảnh thì báo lỗi.
The file browser is disabled for security reasons. Please contact your system administrator and check the CKFinder configuration file
Vì chưa set quyền được truy cập vào phần quản lý file của CKFinder nên nó báo vậy đó. Bây giờ mở file ckeditor/ckfinder/config.php , đổi giá trị authentication sang true
$config['authentication'] = function () {
return true;
};
các bạn cấu hình luôn folder để lưu các file upload trong CKFinder, ở phần baseUrl
$config['backends'][] = array(
'name' => 'default',
'adapter' => 'local',
'baseUrl' => '/demo/upload/',
// 'root' => '', // Can be used to explicitly set the CKFinder user files directory.
'chmodFiles' => 0777,
'chmodFolders' => 0755,
'filesystemEncoding' => 'UTF-8',
);
Vậy là xong rồi đó, các bạn thử upload ảnh lên nhé ! Nếu có lỗi trong quá trình cài đặt, các bạn hãy comment xuống phía dưới bài viết này. Mình sẽ support nhé.

Hướng dẫn sửa lỗi

“The PHP installation does not meet the minimum system requirements for CKFinder. Missing PHP extensions: Fileinfo. Please refer to CKFinder documentation for more details.”
Mở file php.ini ở trong phần mềm tạo server ảo ra (xampp/php/php.ini). Tìm tới đoạn ;extension=php_fileinfo.dll và bỏ ký tự ‘;’. Sau đó reset lại apache