Взял как пример с шела,который и на виндовс машинах работает неплохо.
Ну дело ваше можно и попробовать)
Я не пробую всё подряд, для этого мне жизни не хватит.
Ваш пример из шелла использует исполнение команд на хостинге.
Это может: а) не поддерживаться операционкой или б) быть отключено хостером (на 99% виртуальных хостингов отключено, кстати).
Файлменеджер должен работать мало того, что почти везде (как можно больше версий как PHP, так и операционок), так и иметь меньший объём и всё в одном файле при большом функционале.
С точки зрения архивирования. Достаточно и одного архиватора. Архиватор tar.gz будет встроен в менеджер (на случай не полной поддержки формата на хостинге), а zip является на данный момент лишним и я планирую его выпилить.
Почему tar.gz, а не zip?
Потому, что он больше подходит для этих целей:
а) сохраняет права Unix на файлы, в отличие от zip. Это очень полезно при сохранении и восстановлении дампов.
б) протестирован на других проектах и работает стабильно (как при распаковке, так и при запаковке файлов)
в) стабильнее работает на Unix хостингах, а именно на них в основном и придется работать файлменеджеру.
Функция архивации/распаковки — это прежде всего для периодического бекапа.
Я планирую задавать в файлменеджере папку для бекапов и добавить функцию сохранения текущей директории, просмотра бекапов и пр., просто пока не продумал до конца как это будет выглядеть. Возможно, прикрутится ещё удаленное администрирование, сохранение не всех, а только разницы в файлах и прочие полезные для администрирования инструменты.
Если же вы хотите скачать себе на комп и хотите открыть архив под Виндовс, то это ваши проблемы, а не менеджера.
Формат tar.gz прекрасно открывается бесплатным 7-zip, например.
Давайте я напишу, чего мне не хватает и чего бы я хотел добавить в наш инструмент.
1. Как я сказал, запаковка/распаковка архивов. Сейчас работает только запаковка и нестабильно.
2. Сравнение структур двух баз данных MySQL и их синхронизация. Очень актуально для обновлений движков. Если найдете где класс для этого на PHP, чтобы интегрировать в проект, буду благодарен.
3. Система подгрузки плагинов в файлменеджер с внешних урл с сохранением функционала в настройках движка.
4. Хотел бы выкинуть локализацию из кода нахрен вообще. Локализация должна также подгружаться с внешнего урл и сохраняться в файлменеджере при запросе пользователя. А сама локализация храниться где-то и редактироваться пользователями. Может даже, без моего участия.
5. Дальнейшее развитие прокси. Реализация поддержки POST запросов. Сейчас поддерживается только GET и нестабильно. Конечная цель этой приблуды — закачать маленький файлик на свой хостинг и превратить его в прокси для просмотра сайтов, которые забанил тебе твой провайдер интернет. Или использовать для анонимной оценки сайта конкурента, с неизвестного ему адреса — тоже полезно.
В общем, если хотите помочь — направление я задал. Можете предлагать и свое, обсудим.