PHP CKEDİTÖR
blog yazılarının paylaşılabileceği bir site tasarlıyorum blog yazısı yazabilmek içise
ckeditörü kullanıyorum fakat bu editöre resim eklediğimde sunucudaki resim klasörüne dosyayı
yükleyemiyorum ckeditör ile birden fazla resim ekleme daha sonra bu resimleri silme işini
nasıl yapabilirim
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (10)
Şimdi aşama aşama anlatayım
tayfunun dedıgı gıbı karmasıktır
localde denedım sorunsuz calısıyor Fileinfo hatası verırse php.ini den fileinfo yu ayarla
<?php session_start(); ?>
<?php
$_SESSION['yetki']="yonetici"; //bunu yazmayı unutmusum :)
$_SESSION['uyeid']=1; // kendi sessionunu kullan üye girişinde yetki vs belirliyorsan onu. ckfinder da config.php de YAZDIGIM UYARILARI DIKKATE AL
$_SESSION['onay']=1; // ekstra kontrol uyelık onayı
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Ck editör</title>
<script type="text/javascript" src="ckeditor/ckeditor.js"></script>
<script type="text/javascript" src="ckfinder/ckfinder.js"></script>
</head>
<body>
<textarea class="ckeditor" name="icerik"></textarea>
<script>
CKEDITOR.replace( 'icerik', {
filebrowserBrowseUrl: 'ckfinder/ckfinder.html',
filebrowserUploadUrl: 'ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Files'
} );
</script>
</body>
</html>
BURASI ckfinder içindeki config.php
<?php session_start();
if(isset($_SESSION['yetki']) && ($_SESSION['onay']==1)){ // uye id ve uyelıgı onaylıysa işlem yaptır istersen onayı sılersın *** BURAYI BEN EXTRA GUVENLIK ICIN EKLEDIM
error_reporting(E_ALL & ~E_DEPRECATED & ~E_STRICT);
ini_set('display_errors', 0);
$config = array();
$config['authentication'] = function() {
return isset($_SESSION['yetki']) && $_SESSION['yetki'] && $_SESSION['onay']==1; // BURADAA YUKARIDAKININ AYNISINI YAPACAKSIN
};
$config['licenseName'] = '';
$config['licenseKey'] = '';
$config['privateDir'] = array(
'backend' => 'default',
'tags' => 'B/.ckfinder/tags',
'logs' => 'B/.ckfinder/logs',
'cache' => 'B/.ckfinder/cache',
'thumbs' => 'B/.ckfinder/cache/thumbs',
);
$config['images'] = array(
'maxWidth' => 1000,
'maxHeight' => 800,
'quality' => 100,
'sizes' => array(
'small' => array('width' => 480, 'height' => 320, 'quality' => 80),
'medium' => array('width' => 600, 'height' => 480, 'quality' => 80),
'large' => array('width' => 800, 'height' => 600, 'quality' => 80)
)
);
$config['backends'][] = array(
'name' => 'default',
'adapter' => 'local',
'baseUrl' => $_SESSION["yol"].'/img/', //BEN BURADA SESSION ILE DOSYA YOLUNU BELIRTTIM ISTERSEN SEN DIREK SITE ADRESI ILE BERABER YOLU YAZARSIN http://siteadi.com/img/ gibi
// 'root' => '', // Can be used to explicitly set the CKFinder user files directory.
'chmodFiles' => 0777,
'chmodFolders' => 0755,
'filesystemEncoding' => 'UTF-8',
);
$config['defaultResourceTypes'] = '';
/*
$config['resourceTypes'][] = array(
'name' => 'Files', // Single quotes not allowed.
'directory' => 'files',
'maxSize' => 0,
'allowedExtensions' => '7z,aiff,asf,avi,bmp,csv,doc,docx,fla,flv,gif,gz,gzip,jpeg,jpg,mid,mov,mp3,mp4,mpc,mpeg,mpg,ods,odt,pdf,png,ppt,pptx,qt,ram,rar,rm,rmi,rmvb,rtf,sdc,swf,sxc,sxw,tar,tgz,tif,tiff,txt,vsd,wav,wma,wmv,xls,xlsx,zip',
'deniedExtensions' => '',
'backend' => 'default'
);
*/
$config['resourceTypes'][] = array(
'name' => 'Fotoğraf',
'directory' => 'B/'.$_SESSION['uyeid'], //BURADA UYEYE OZEL DOSYA BELIRLIYORUM B DOSYA SI ALTINA UYE ID OLARAK KLASOR OLUSUR KENDINE GORE AYARLARSIN img/B/1 gıbı dusun burayı
'maxSize' => 0,
'allowedExtensions' => 'bmp,gif,jpeg,jpg,png',
'deniedExtensions' => '',
'backend' => 'default'
);
$config['roleSessionVar'] = 'yetki'; // ****** BURAYA DIKKAT *****
$config['accessControl'][] = array(
'role' => 'yonetici', /// ******* BURAYADA DIKKAT BURASI VERDIGIN IZINLER YENIDEN BOYUTLANDIR SİL VS YONETICILERIN YETKILERI
'resourceType' => '*',
'folder' => '/',
'FOLDER_VIEW' => true,
'FOLDER_CREATE' => true,
'FOLDER_RENAME' => true,
'FOLDER_DELETE' => true,
'FILE_VIEW' => true,
'FILE_CREATE' => true,
'FILE_RENAME' => true,
'FILE_DELETE' => true,
'IMAGE_RESIZE' => true,
'IMAGE_RESIZE_CUSTOM' => true
);
$config['accessControl'][] = array(
'role' => 'uye', /// ******* BURAYADA DIKKAT BURASI VERDIGIN IZINLER YENIDEN BOYUTLANDIR SİL VS UYELERIN YETKILERI
'resourceType' => '*',
'folder' => '/',
'FOLDER_VIEW' => true,
'FOLDER_CREATE' => true,
'FOLDER_RENAME' => true,
'FOLDER_DELETE' => true,
'FILE_VIEW' => true,
'FILE_CREATE' => true,
'FILE_RENAME' => true,
'FILE_DELETE' => true,
'IMAGE_RESIZE' => true,
'IMAGE_RESIZE_CUSTOM' => true
);
$config['overwriteOnUpload'] = false;
$config['checkDoubleExtension'] = true;
$config['disallowUnsafeCharacters'] = true;
$config['secureImageUploads'] = true;
$config['checkSizeAfterScaling'] = true;
//$config['htmlExtensions'] = array('html', 'htm', 'xml', 'js');
$config['htmlExtensions'] = array('html', 'htm', 'xml', 'js');
$config['hideFolders'] = array('.*', 'CVS', '__thumbs');
$config['hideFiles'] = array('.*');
$config['forceAscii'] = true;
$config['xSendfile'] = false;
$config['debug'] = true;
$config['debugLoggers'] = array('ckfinder_log', 'error_log', 'firephp');
$config['pluginsDirectory'] = __DIR__ . '/plugins';
$config['plugins'] = array();
$config['cache'] = array(
'imagePreview' => 24 * 3600,
'thumbnails' => 24 * 3600 * 365,
'proxyCommand' => 0
);
$config['tempDirectory'] = sys_get_temp_dir();
$config['sessionWriteClose'] = true;
$config['csrfProtection'] = true;
$config['headers'] = array();
return $config;
}
https://ckeditor.com/ckfinder/download/
bunu kullanacaksın sunucu veya kendı localınde calısır
kullanıcı yetkılendırme var ıcınde
config.php dosyası icinde ben bu sekılde ayarlamıstım kendıme gore
$config['resourceTypes'][] = array(
'name' => 'Fotoğraf',
'directory' => 'B/'.$_SESSION['uyedosya'],
'maxSize' => 0,
'allowedExtensions' => 'bmp,gif,jpeg,jpg,png',
'deniedExtensions' => '',
'backend' => 'default'
);
$_SESSION['uyedosya'] bunu uye gırısı yapınca belırlıyorsun o uyeye ait dosyaları goruyor sadece
file manager kullanman gerekiyor bunun için. çok zor bir entegrasyon süreci var internette anlatımları mevcut.
kullanacağın eklenti ise şu: https://ckeditor.com/cke4/addon/file-manager
bu tam olarak ihtiyacın olanı karşılayacaktır muhtemelen