Ckeditor 4.14+ Upload image

Сегодня обновил ckeditor, добавил YouTube в редактор, потребовалось интегрировать видосики...

Да вот только старый механизм подгрузки сломался, раньше была загрузка при которой в GET передавалась функция и в результате она выполнялась с параметрами нужными, а теперь нужно стало возвращать JSON код....

В config.js нужно прописать такое

config.filebrowserUploadUrl = '/upload_ck.php';

А в файле upload_ck.php

<?php
//тут нужно проверить имеет ли данный запрос право выполняться, 
//если нет, то выкинуть 503 и послать нафиг

$path = $_SERVER['DOCUMENT_ROOT'].DIRECTORY_SEPARATOR."media";

if (isset($_FILES['upload']) && isset($_FILES['upload']['name'])) 
{
   
    if (!is_dir($path)) mkdir($path);

    //ваша функция генерации имен файлов
    $name = GEN_FNAME($_FILES['upload']['name'],$path);

    $url = $path.DIRECTORY_SEPARATOR.$name;


    //if move file - exit
    if (!move_uploaded_file($_FILES['upload']['tmp_name'], $url))
        exit('{"uploaded": 0,"error": {"message": "Fail"}');
    


    //resize function
    //MPIMG::resize ($url,$url,1700,1700);

    echo json_encode(['uploaded'=>1,'fileName'=>$name,'url'=>$url]);

}
else
    $message = 'No file has been sent';

В данном листинге используются собственные функции генерации имен и контроля максимального размера, загрузка происходит в папку media, ни в коем случае не рекомендую использовать данный код в таком виде, как минимум, тут еще нужно проверять авторизацию пользователя.

Показать комментарии