CKeditor'e Resim Yükleme ile İlgili

Bu konuyu okuyanlar

mali2012

Asistan
Katılım
10 Eylül 2012
Mesajlar
157
Reaksiyon puanı
9
Puanları
18
Arkadaşlar CKeditor ile resim göndermek istediğimde, resim upload sitelerinden aldığım link ile resim yükleyebiliyorum galiba. Şöyle bir şey yapsam mesela. Resimi sunucuda bir klasöre yüklesem ve oradan mı alsam veya başka ne yapılabillir acaba?


Adsız2.png
 

CapScroLL

Müdavim
Katılım
22 Ağustos 2014
Mesajlar
3,657
Reaksiyon puanı
2,683
Puanları
113
Yaş
26
Form etiketinize enctype="multipart/form-data" niteliğini verin.

Altta vermiş olduğum PHP kodunu kendinize göre düzenleyin, kopyalayın ve upload.php adında dosya oluşturup içerisine yapıştırın.
PHP:
<?php
//Upload dizini
$upload_dir = array(
    'img'=> '../img/post',
);

//Kabul edilen resim özellikleri
$imgset = array(
    'maxsize' => 2000,
    'maxwidth' => 1024,
    'maxheight' => 800,
    'minwidth' => 10,
    'minheight' => 10,
    'type' => array('bmp', 'gif', 'jpg', 'jpeg', 'png'),
);

//0 = Üzerine yaz, 1 = Yeniden adlandır
define('RENAME_F', 1);
function setFName($p, $fn, $ex, $i){
    if(RENAME_F ==1 && file_exists($p .$fn .$ex)){
        return setFName($p, F_NAME .'_'. ($i +1), $ex, ($i +1));
    }else{
        return $fn .$ex;
    }
}

$re = '';
if(isset($_FILES['upload']) && strlen($_FILES['upload']['name']) > 1) {

    define('F_NAME', preg_replace('/\.(.+?)$/i', '', basename($_FILES['upload']['name'])));  

    //Uzantıyı sil ve dosya adını al
    $sepext = explode('.', strtolower($_FILES['upload']['name']));
    $type = end($sepext);    /** Uzantı alındı **/
   
    //Yükleme dizini
    $upload_dir = in_array($type, $imgset['type']) ? $upload_dir['img'] : $upload_dir['audio'];
    $upload_dir = trim($upload_dir, '/') .'/';

    //Dosya türünü doğrula
    if(in_array($type, $imgset['type'])){
        //Genişlik ve uzunluğu al
        list($width, $height) = getimagesize($_FILES['upload']['tmp_name']);

        if(isset($width) && isset($height)) {
            if($width > $imgset['maxwidth'] || $height > $imgset['maxheight']){
                $re .= '\\n Width x Height = '. $width .' x '. $height .' \\n Maksimum çözünürlük: '. $imgset['maxwidth']. ' x '. $imgset['maxheight'];
            }

            if($width < $imgset['minwidth'] || $height < $imgset['minheight']){
                $re .= '\\n Width x Height = '. $width .' x '. $height .'\\n Minimum çözünürlük: '. $imgset['minwidth']. ' x '. $imgset['minheight'];
            }

            if($_FILES['upload']['size'] > $imgset['maxsize']*1000){
                $re .= '\\n Kabul edilen maksimum dosya boyutu: '. $imgset['maxsize']. ' KB.';
            }
        }
    }else{
        $re .= $_FILES['upload']['name']. ' geçersiz uzantıya sahip!';
    }
   
    //Upload dizinini al
    $f_name = setFName($_SERVER['DOCUMENT_ROOT'] .'/'. $upload_dir, F_NAME, ".$type", 0);
    $uploadpath = $upload_dir . $f_name;

    //Hata yoksa upload et, varsa bildir.
    if($re == ''){
        if(move_uploaded_file($_FILES['upload']['tmp_name'], $uploadpath)) {
            $CKEditorFuncNum = $_GET['CKEditorFuncNum'];
            $url = 'ckeditor/'. $upload_dir . $f_name;
            $msg = F_NAME .'.'. $type .' Başarıyla yüklendi: \\n- Boyut: '. number_format($_FILES['upload']['size']/1024, 2, '.', '') .' KB';
            $re = in_array($type, $imgset['type']) ? "<script>window.parent.CKEDITOR.tools.callFunction($CKEditorFuncNum, '$url', '$msg')</script>":'<script>var cke_ob = window.parent.CKEDITOR; for(var ckid in cke_ob.instances) { if(cke_ob.instances[ckid].focusManager.hasFocus) break;} cke_ob.instances[ckid].insertHtml(\' \', \'unfiltered_html\'); alert("'. $msg .'"); var dialog = cke_ob.dialog.getCurrent();dialog.hide();</script>';
        }else{
            $re = '<script>alert("Dosya yüklenemiyor!")</script>';
        }
    }else{
        $re = '<script>alert("'. $re .'")</script>';
    }
}

//HTML Çıktı
@header('Content-type: text/html; charset=utf-8');
echo $re;
?>

Bu scripti CKEditor kullandığınız sayfaya yapıştırın.
HTML:
<script>
    CKEDITOR.replace('editor', {
        filebrowserUploadUrl: 'ckeditor/Upload.php', //Oluşturduğunuz Upload.php dosyasının yolunu belirtin.
        filebrowserUploadMethod: 'form' //Upload metodumuzu belirtiyoruz.
    });
</script>
 
Üst