Загрузить файлы на сервер в CKeditor

Скачал я с официального сайта хороший WYSIWYG редактор и наткнулся на неприятную неожиданность — в функционале по-умолчанию нет возможности загружать файлы. Как это исправить, читаем далее.

На официальном сайте CKeditor можно скачать классный редактор. У него масса возможностей и перечислять их все можно очень долго. Но это тема не этой заметки.

Поставил я этот редактор и решил протестировать его функционал. Радость и веселье омрачило то, что на официальном сайте, в разделе ДЕМО, была возможность сразу в редакторе грузить файлы на сервер. А вот в скаченном дистрибутиве, увы, нет.

Но к счастью, это совсем небольшая проблема и решение нашлось очень даже быстро.

Настройки для загрузки файлов на сервер

Шаг 1.

В скаченном редакторе, не было даже такой вкладки Загрузить. Что ж, давайте ее подключим. Для этого нам надо найти файл — image.js. Он находится вот здесь: \plugins\image\dialogs\image.js

Открывайте его любым текстовым редактором и ищите что-то вроде этого

id:"Upload"

Если не найдет, ищите такие слова: Upload и File. Рядом с этими словами, будет что-то вроде такого:

id:"Upload",hidden:

Вот здесь слово hidden надо поменять на false.

Теперь обновите страницу с текстовым редактором и проверьте, появилась ли вкладка Загрузить. На данном этапе вкладка еще работать не будет. Если вдруг у Вас вкладка не появилась, то причина тут может вот в чем: часто браузеры кешируют ява-скрипты, поэтому перед следующим обновленим очистите кеш браузера.

Шаг 2.

Теперь в папке с нашим редактором надо найти файл config.js. Его следует открыть любым текстовым редактором и для лучшего понимания, просто удалите содержимое и вставьте туда код из этого файла: config.js

Теперь нам надо создать этот файлик upload.php в папке самого редактора. Если Вы качали с официального сайта, то эта папка будет samples.

Откройте файл upload.php и вставьте туда код из этого файла: upload.php

Данный код ограничивает загрузку файлов по типу, то есть допускаются только jpg и png. Чтобы расширить список допустимых расширений, обратите внимание на строку: else if (($_FILES[‘upload’][«type»] != «image/jpeg») AND ($_FILES[‘upload’][«type»] != «image/jpeg») AND ($_FILES[‘upload’][«type»] != «image/png»))

Также этот код ограничивает размер загружаемых файлов. Смотрите строку else if ($_FILES[‘upload’][«size»] == 0 OR $_FILES[‘upload’][«size»] > 2050000)

Число 2050000 это кол-во допустимых байтов. Чтобы перевести в мегабайты, считайте так: 2050000 байт / 1024 / 1024 = 1.9 мб. То есть, чтобы увеличить ограничение до 10мб, просто считайте так: 10мб * 1024кб * 1024б = 10485760.

Теперь нам осталось просто поменять пару значений и запустить редактор наново. Все в том же файле upload.php найдите такую строку: move_uploaded_file($_FILES[‘upload’][‘tmp_name’], «files/».$name);

Она отвечает за то, куда будут грузиться наши файлы. В данном случае в папку files. Вы же можете указать любую другую папку, но убедитесь, что она существует. Если её нет — создайте.

Теперь найдите такую строку: $full_path = ‘http://localhost/ckeditor/samples/files/’.$name;

Её следует изменить на Ваше значение. То есть менять надо сам URL к загруженным файлам «http://localhost/ckeditor/samples/files/«.

Ну вот и всё. Как видим завести эту функцию оказалось очень легко и достаточно быстро.


Материалы
  1. http://youon.ru/Web/Для-сайта/zagruzka-kartinok-na-server-v-ckeditor
Ссылки по теме
  1. CKeditor режет стили и html

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *