Download the PHP package alex-net/tiny-file-man without Composer

On this page you can find all versions of the php package alex-net/tiny-file-man. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package tiny-file-man

Для работы редактора с файловым менеджером Responsive File Manager необходимо скачать последний релиз этого манагера и разместить содержимое архива в любой каталог на сервере. Далее нужно сделать некоторые преобразования (подгонка кода)

Выявленные проблемы и их устранине

Работа будет проводиться с файлами внутри каталага filemanager из архива Responsive File Manager.

Удаляем config.php

В этом каталоге следует пройтись по всем файлам *.php лежащим непосредственно в каталоге filemanager и удалить подключение файла config.php (этот файл подключется внутри действия). .. Удаляем строку содержащую примерно следующее:

Исправление загрузки файлов

Для корректной загрузки файлов через менеджер нужно сделать правки в файле upload.php. Для этого находим строку, в которой происходит присвоене массива с настройками переменной $uploadConfig, и убраем для ключа upload_dir часть значения dirname($_SERVER['SCRIPT_FILENAME']) . '/' . (путь у нас и так абсолютный)

Просмотр миниатюр в менеджере

Для корректного просмотра картинок-миниатюр в менеджере (thumbs) в файле dialog.php надо найти блок кода, в котором происходит присвоение значения переменной $src_thumb и после этого места (как можно ближе к вёрстке внизу) зачистить переменные $src_thumb, $src и $mini_src от пути document_root, который сидит в $_SERVER['DOCUMENT_ROOT'], чтобы абсолютный путь к файлу на сервере стал относительным и превратился в ссылку на этот файл из web. Нужно обращать внимание на то, что $_SERVER['DOCUMENT_ROOT'] может содержать символичесие ссылки, по этому сам $_SERVER['DOCUMENT_ROOT'] при необходимости можно будет обернуть в вызов функции realpath(). Также допускается указание каталога thumbsPath в виде абсолютного пути к любому каталогу доступному для записи. Можно применять алиасы Yii2. Если каталог назначения для картинок-миниатюр не доступен из web, нужно дополнительно провести замену в выше приведенных путях с использованием Assetа, который сидит в переменной $thumbsAsset, а именно заменить sourcePath на baseUrl. Также перед применением Assetа обратите внимание на значение $linkAssets у AssetManager. Это значение должно быть равным true в противном случае будет произведено копирование каталога и ничего хорошего из этого не выйдет.

нехватка памяти во время генерации миниатюр.

Также можно столкнуться с проблемой нехватки памяти при генераиции миниатюры после загрузки картинки через менеджер. Результатом загрузки будет ошибка нехватки памяти. Связано подобное поведение со способом задания паременной memory_limit в php.ini. "Из коробки" можно найти варианты указания этого значения в мегабайтах (в конце цифры буква M) и гигабайтах (в конце цифры буква G). Но часто встречается такой вариант, когда количество памяти задано в байтах (набор цифр), тогда нужно докрутить функцию image_check_memory_usage из файла filemanager/include/utils.php добавив вычисление переменной $memory_limit для варианта байтного обозначения размера памяти (одни цифры).
В той же функции файла utils.php нужно обернуть в try catch строки начиная с getimagesize и до окончания условия. В случае всплывания исключения - вернуть false. Дело в том, что для некорректных картинок и картинок с нулевым размером функция getimagesize() выбрасывает исключение, которое некому перехватить. Обёртыванием блока в try catch мы ловим это исключение и не даём сломаться скрипту.

Загрузка небольших файлов до 100 кБ.

Таже есть проблема с загрузкой небольших файлов примерно до 100кб.. причиной этому является отсутствие заголовка Content-Range. Устраненять будем в методе post() файла filemanager/UploadHandler.php следующим образом: присвоим переменной $content_range (в случае если её значение окажется null) массив следующего содержания [0,$size,$size], где $size является размером закачиваемого файла.

Переводы интерфейса

Для поддержки переводов интерфейса нужно в начало файла include/utils.php добавить глобальную переменную $lang_vars

Загрузка файлов по ссылке.

Ещё одна проблема была найдена при загрузке файлов из внешнего источника (по url). В этом случае php не хотел признавать, что файл загруженный извне (другой сервер) является файлов загруженным по post запросу и не сохранял файл на диске. Внешне на странице загрузки ничего не происходит кроме очистки поля адреса от указанной ссылки на картинку. Для починки этого бага нужно допилить функцию handle_file_upload() из файла /filemanager/UploadHandler.php дополнительным условием на существование "временного" файла загруженного с другого сервера. Если файл существует, то при помощи file_put_contents() копируем файл в нужное место. В нашем случае вызов будет похож на вызов file_put_contents() в последнем else, но источником файла будет загруженный файл, путь которого может сидеть в $uploaded_file (нужно проверить на file_exists()). Для этого действа может подойти функция rename()
Также в строке 89 файла upload.php (присвоение массива данных загруженного файла в $_FILES['files'] нужно дополнить значение поля type - вместо null установить mime-тип из загруженного по curl файла через mime_content_type($temp),

Правки связанные с работой по FTP

Работа с менеджером через ftp требует следующих правок по коду:

Более быстрый подход к правкам.

Ещё одним вариантом (как сделать все правки быстро) .. можно скачать релиз 9.14 Responsive File Manager и в распакованном архиве (в каталоге responsive_filemanager) инициировать новый git репозитарий, сделать базовый комит, и применить к нему патч с названием for-yii2.patch. После этих действий должно всё заработать ..

php8

под php8 ломается только файл библиотеки, которая нужна для преобразования картинок. Обновлённая версия этой либы есть по ссылке

Подключение

Для использования текстового редактора без файлового менеджера.. достаточно воспользоваться виджетом TinyMCEWidget (\AlexNet\TinyFileMan\widgets\TinyMCEWidget) с присвоенным полем $whithRfm в false ("из коробки" файловый менеджер включён). Виджет может работать как сам по себе (генерируется элемент управление textarea), так и в составе формы (также генерится тег textarea).

Для использования виджета совместно с файловым менеджером нужно:

Также через поле $editorConfig можно задать общие настройки редактора. Доступы к редактору предетсалены ассоциированным масивом, ключами которого являются пути аналогиныче задаваемым для настройеки urlManager, а значения представлены массивом состоящим из ключей perms, uploadPath и thumbsPath. При помощи perms можно ограничить доступ к файловому менеджеру, а uploadPath и thumbsPath через абсолютные пути или алиасы задают расположение загруженных файлов и миниатюр картинок соответственно. Пути должны быть доступны из web по этому должны начинаться с алиаса @webroot

После задания указанных выше настроек виджет можно подключить используя параметр $for, в который передаётся массив содержазий первым элементом один из ключей настроенных путей baseRFMUrls (pattern пути) и остальные параметры (если нужны) для формирования конкретной ссылки через \yii\helpers\Url::to()


All versions of tiny-file-man with dependencies

PHP Build Version
Package Version
Requires yiisoft/yii2 Version ~2.0
npm-asset/tinymce Version ~5.2
npm-asset/tinymce-i18n Version ~20.0
nicolab/php-ftp-client Version ~1.5
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package alex-net/tiny-file-man contains the following files

Loading the files please wait ....