v2.5.2
Giriş yap

PHP CKEDİTÖR

burak001
1,483 defa görüntülendi ve 1 kişi tarafından değerlendirildi

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

Cevap yaz
Cevaplar (10)
qplot
1320 gün önce

Ş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;
}

qplot
1320 gün önce

https://ckeditor.com/ckfinder/download/

bunu kullanacaksın sunucu veya kendı localınde calısır

burak001
1320 gün önce

@qplot filemanageri sunucu ile mi çalıştırmam gerek yoksa kendi bilgisayarımda da yapabilirmiyim

burak001
1324 gün önce

tamamdır usta sağolasın ckeditör ile ilgili ders kaynağın varsa paylaşabilirmisin

qplot
1325 gün önce

bır suru yontemı var uye yazısını sılersen yazı ıcındekı fotoları taratıp bulur ve sılersın zor bır sey degıl

$detay=['detay'];
$sayfoto=preg_match_all('#src="(.*?)"#', $detay,$cikti);

mısal boyle bulursun sen ısın kolayına kacmak ıstıyorum dersen bılemem

burak001
1325 gün önce

üye dosya oluşturup silebiliyormu peki @qplot ve üye o yazıyı sildi diyelim o yazıya ait resimleri nasıl sileceğim.
sencede böyle düzensizlik olmuyormu

qplot
1326 gün önce

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


burak001
1326 gün önce

bu şeklide kullanıcı benim dosya dizinime ulaşacak bunu nasıl önleyebilirim ya da daha farklı bir yöntemi var mıdır

qplot
1327 gün önce

tayfun haklı zor ama mukkemel bir eklenti aslında çokta zor değil bilmeyene zor kolayca kavrarsın kavradığında hoşuna gidecektir.

kullanıcıya özel dosya oluşturma vs özelliği ile gelecekte bolca kullanırsın

tayfunerbilen
1327 gün önce

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