Drupal 6 'da Editör Üzerinden Resim Yüklemek

Eski sürümlerinden beri Drupal kullananlar IMCE modülünü bilirler. TinyMce,BuEditor gibi wyswig modülleri ile entegre olarak , yazı yazma esnasında server'a bir resim upload edip o resmi kullanmamızı sağlar ve bizi mutlu ederdi :) Tabii IMCE'nin özelliği bununla sınırlı değil ama benim en çok işime yarayan buydu.Çünkü TinyMce ve BUEditor'de dahili bir dosya yükleyicisi yok. Şu günlerde Drupal 6.x içinde Head olarak çıkmış olsa da en azından şimdilik kullanmayı düşünmüyorum.Çünkü Fck 'da küçük bir optimizasyon ile dahili bir resim yükleyicisine sahip olabiliyorsunuz.Yani bilgisayarınızda bulunan resmi kolayca server'a aktarıp kullanabilirsiniz.

Madem Fck ile bu oluyorda neden Bueditor'le falan uğraşıyorsun derseniz , daha hafif ve sistemi yormadığı için derim.Ama şimdilik Fck ile bu işlemi nasıl yaparız onu anlatayım:

Normalde bu özelliğini kullanmak istediğinizde This uploader is disabled gibi bir hata verir.Bu durumda ,

FckEditor'ün bulunduğu dizinin altındaki /editor/filemanager/connectors/php/config.php dosyasını açın. 

Bu dosyayı açtıktan sonra aşağıdaki kodları eskileri ile değiştirip dosyanızı kaydedin ve server'daki konumuna geri gönderip , eski dosyanın üzerine yazın:

$Config['Enabled'] = true ;

// $Config['UserFilesPath'] = '/files/' ;

$Config['UserFilesPath'] = '/files/' ;

// $Config['UserFilesAbsolutePath'] = '' ;
$Config['UserFilesAbsolutePath'] = $_SERVER["DOCUMENT_ROOT"]. "/files/";

$Config['ForceSingleExtension'] = true ;

$Config['SecureImageUploads'] = true;

$Config['ConfigAllowedCommands'] = array('QuickUpload', 'FileUpload', 'GetFolders', 'GetFoldersAndFiles', 'CreateFolder') ;

// Allowed Resource Types
$Config['ConfigAllowedTypes'] = array('File', 'Image', 'Flash', 'Media') ;

$Config['HtmlExtensions'] = array("html", "htm", "xml", "xsd", "txt", "js") ;

/*
Configuration settings for each Resource Type
*/

$Config['AllowedExtensions']['Image'] = array('gif','jpeg','jpg','png') ;
$Config['DeniedExtensions']['Image'] = array() ;
$Config['FileTypesPath']['Image'] = $Config['UserFilesPath'] .'images/';
$Config['FileTypesAbsolutePath']['Image']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'images/' ;
$Config['QuickUploadPath']['Image'] = $Config['FileTypesPath']['Image'] ;
$Config['QuickUploadAbsolutePath']['Image'] = $Config['FileTypesAbsolutePath']['Image'] ;

$Config['AllowedExtensions']['Flash'] = array('swf','flv','mp3') ;
$Config['DeniedExtensions']['Flash'] = array() ;
$Config['FileTypesPath']['Flash'] = $Config['UserFilesPath'] . 'flash/' ;
$Config['FileTypesAbsolutePath']['Flash']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'flash/' ;
$Config['QuickUploadPath']['Flash'] = $Config['FileTypesPath']['Flash'];
$Config['QuickUploadAbsolutePath']['Flash']= $Config['FileTypesAbsolutePath']['Flash'];

$Config['AllowedExtensions']['Media'] = array('aiff', 'asf', 'avi', 'bmp', 'fla', 'flv', 'gif', 'jpeg', 'jpg', 'mid', 'mov', 'mp3', 'mp4', 'mpc', 'mpeg', 'mpg', 'png', 'qt', 'ram', 'rm', 'rmi', 'rmvb', 'swf', 'tif', 'tiff', 'wav', 'wma', 'wmv') ;
$Config['DeniedExtensions']['Media'] = array() ;
$Config['FileTypesPath']['Media'] = $Config['UserFilesPath'] . 'media/' ;
$Config['FileTypesAbsolutePath']['Media']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'media/' ;
$Config['QuickUploadPath']['Media'] = $Config['FileTypesPath']['Media'];
$Config['QuickUploadAbsolutePath']['Media']= $Config['FileTypesAbsolutePath']['Media'];

$Config['AllowedExtensions']['File'] = array('7z', 'aiff', 'asf', 'avi', 'bmp', 'csv', 'doc', 'fla', 'flv', 'gif', 'gz', 'gzip', 'jpeg', 'jpg', 'mid', 'mov', 'mp3', 'mp4', 'mpc', 'mpeg', 'mpg', 'ods', 'odt', 'pdf', 'png', 'ppt', 'pxd', 'qt', 'ram', 'rar', 'rm', 'rmi', 'rmvb', 'rtf', 'sdc', 'sitd', 'swf', 'sxc', 'sxw', 'tar', 'tgz', 'tif', 'tiff', 'txt', 'vsd', 'wav', 'wma', 'wmv', 'xls', 'xml', 'zip') ;
$Config['DeniedExtensions']['File'] = array() ;
$Config['FileTypesPath']['File'] = $Config['UserFilesPath'] . 'file/' ;
$Config['FileTypesAbsolutePath']['File']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'file/' ;
$Config['QuickUploadPath']['File'] = $Config['FileTypesPath']['File'];
$Config['QuickUploadAbsolutePath']['File']= $Config['FileTypesAbsolutePath']['File'];
 

Artık yazı yazarken Fck üzerinden resim yükleyebileceksiniz :)

Yorumlar

Facebook Yorumları
Tekno Dergi Yorumları

Selamlar,

FCKEditor iyi, hoş ve pek de kullanışlı bir alet. Image upload özelliği de yerli yerinde. Fakat kullanıcılara teslim edilecek şekilde değil. Mesela resim dosyaları? Drupal üstünde IMCE ile kullanıcı başına kotalar, klasorler olusturmak mümkün de ya dışarda?

Neticede soracağım şey şu: FCKEditor ile veya daha farklı bir editor ile kullanici bazinda resim dosyasi yonetimi yapabileceğim bir proje/araç biliyor musunuz? Bu konuda fikir verebilir misiniz?

Teşekkürler.

Merhaba ,

sizin de dediğiniz gibi Drupal 'da bu işi IMCE yapıyor.Drupal ya da kendi yazdığınız bir sistem farketmez , wysiwig editörlerin hiç  biri de bu kontrolü yapmaz.Siz kendi yazdığınız sistemde imce'nin yaptığı işi kendiniz yapmalısınız.
Yapabileceğiniz ilk aklıma gelen yöntem , veritabanında bir tablo oluşturmanız ve kullanıcı dosya yüklerken dosyanın boyutunu alıp o tabloya userID ve dosya boyutu kayıdını atmanız. Her upload işlemi öncesinde de o UserID'ye ait doysa boyutlarının toplamının sizin koyduğunun kota'yı geçip geçmediğini kontrol etmek.Eğer geçiyorsa upload işlemini iptal edersiniz.

Belki daha farklı yöntemler de kullanılabilir ama ilk aklıma gelen bu oldu.Umarım yardımcı olmuştur.

Misafir kullanıcısının resmi

ya ben fckeditörünü indirim zaten öncesinde bueditörüde vardı.içerik oluştururken browser da resim ekliorum fakat gözükmüo neden acaba sorun nedir?
Lütfen yardım edin.

Yazıda da belirtilen değişiklikleri FckEditör'ün ilgili dosyalarında yaparsanız, resim yükleme ile ilgili probleminiz çözülecektir.

Yeni yorum ekle

İlgili Yazılar

Bir önceki yazımda , sweetcron'dan kısaca bahsetmiştim.Lifestream kavramını odak noktasına alan bir proje. %100 GPL  ve ücretsiz.Şimdi SweetCron nasıl kurulur ona bir bakalım ;

JW Media Player - FLV Media Player Drupal altyapısını kullandığınız blogunuzda kendi hazırlamış olduğunuz videları herhangi bir hostta barındırarak blogunuzda Flv olarak oynatmanıza yarayan kullanışlı bir eklentidir.

Android işletim sistemli telefonlarımız için üretilmiş olan bu uygulama, telefonlarımıza yüklediğimiz bazı dosyalarda bulunan .Rar , .Zip , .Tar , .Gzip gibi uzantılı sıkıştırılmış dosyaları açmak için en ideal uygulamalardan biridir.

Türkiye’nin en çok tercih edilen çocuk ve gençlik portalı Tipeez.com, iki yıldan kısa bir zamanda 1.000.000 üyeye ulaştı!

Evet evet yanlış duymadınız 5 GB.Dile kolay valla, yıllar önceki 2.1 Gb'lık Harddiskim aklıma geldi de biraz garip oldum :)