Скачал я с официального сайта хороший 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/«.
Ну вот и всё. Как видим завести эту функцию оказалось очень легко и достаточно быстро.
Материалы
- http://youon.ru/Web/Для-сайта/zagruzka-kartinok-na-server-v-ckeditor