Home > Article > Backend Development > CKEditor and CKFinder configuration in PHP_PHP tutorial
1. /ckeditor/config.js, configuration file. If you don’t want to write too much, you can directly write the default configuration (language, menu bar, width). If necessary, you can configure Baidu config
config.language = 'en';
config.skin = 'v2';
config.uiColor = '#AADC6E';
config.toolbar = 'Basic';
….
2. Most of the official demos like to use js to configure the editor area. Being used to writing php, I find it troublesome, so I have to look at the built-in php class.
require_once ROOTPATH . "ckeditor/ckeditor.php";
$CKEditor = new CKEditor();
$CKEditor->returnOutput = true; //Set the output available variables
$CKEditor->basePath = '/ckeditor/';//Set path
$contentarea = $CKEditor->editor("content", $rs['contents']); //Generate a textarea
with name as content
echo $contentarea;
3. It needs to be uploaded, so I have to join ckfinder. Place ckfinder and ckeditor in the same directory.
Open /ckfinder/config.php, first set the first function CheckAuthentication(). This function needs to be written according to its own rules. Only when it returns true can upload files to the server be allowed. Of course, it is not recommended to write return true directly. This will leading to security issues. It is more convenient to use session to handle it.
session_start();
function CheckAuthentication(){
If(isset($_SESSION['UseEidtor']))
return true;
else
return false;
}
4. Upload file location: Also in /ckfinder/config.php, find $baseUrl. I always wanted to write a method to locate the path, but it was really difficult. Later I had to use sesssion. If there is a need to upload to a website. Different locations can be positioned using session.
if (isset($_SESSION['UseEidtor'])) {
Switch ($_SESSION['UseEidtor']) {
case 'Addr1':
$baseUrl = '/addr1/uploadfile/';
case 'Addr2':
$baseUrl = '/addr2/upfiles/';
}
} else {
$baseUrl = '/upfiles/';
}
5. For the uploaded file name, ckfinder will name it according to the original name. In the case of Chinese, it may be garbled, so it is recommended to use date renaming. Open /ckfinder/core/connector/php/php5/CommandHandler/FileUpload.php and find < /p>
$sUnsafeFileName =CKFinder_Connector_Utils_FileSystem::convertToFilesystemEncoding(CKFinder_Connector_Utils_Misc::mbBasename($uploadedFile['name']));
Add
$sExtension = CKFinder_Connector_Utils_FileSystem::getExtension($sUnsafeFileName);
$sUnsafeFileName=date('YmdHis').'.'.$sExtension;
6. The last thing is to use ckfinder
require_once ROOTPATH . "ckeditor/ckeditor.php";
require_once ROOTPATH . 'ckfinder/ckfinder.php' ;
$CKEditor = new CKEditor();
$CKEditor->returnOutput = true;
$CKEditor->basePath = '/ckeditor/';
CKFinder::SetupCKEditor($CKEditor, '/ckfinder/') ;//Note that this is a relative path, relative to the root directory, absolute paths cannot be used
$contentarea = $CKEditor->editor("content", $rs['contents']);
The combination of the two is quite good, and the more important reason is that it is much safer.