Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #81, СЕНТЯБРЬ 2005 г.

Сурипты на службе у хозяйки

Степан Ильин aka Step

Хакер, номер #081, стр. 081-032-3


Альтернатива: WizMySQLAdmin (PHP, wiz.homelinux.net/php.php), perlmyadmin (Perl, www.perlmyadmin.de).

PHP FXP 3.0

Платформа: PHP

Размер: 11 Кб

Сайт: http://fxp.harrym.nu/phpfxp

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

Мне, например, не раз приходилось копировать большие объемы с одного FTP-сервера на другой. Каждый решает эту задачу по-своему. Кто-то будет действовать напролом: выкачает файлы сначала на свой компьютер, а потом зальет в нужное место. Другой, не понаслышке знакомый с технологией FxP, воспользуется продвинутым FTP-клиентом. Но есть еще один способ - использовать специально заточенный под эту задачу скрипт. Признаться, мне пришлось потратить немало времени, прежде чем я нашел что-то работоспособное: большинство скриптов по разным причинам отказывались корректно работать, несмотря на предельную простоту задания. С самой лучшей стороны показал себя скрипт PHP FXP 3.0. Для его установки многого не требуется: нужно распаковать архив с дистрибутивом и подправить переменные $url и $path в файле config.inc.php. После этого все файлы и директории необходимо залить на сервер, а после передачи выставить права (chmod) 777 на директорию Store и все файлы, находящиеся в папке data. Теперь можно открывать файл index.php в браузере и любоваться… неказистым интерфейсом PHP FXP 3.0. Что он умеет? Всего лишь перекачивать файлы между FTP, HTTP(s, локальным сервером, однако большего от него и не требуют. Когда я скачивал этот скрипт, я думал, что он, как и все модные FTP-клиенты, использует технологию FXP, ан нет. Оказалось все в точности до наоборот. Скрипту абсолютно по барабану, поддерживают ли FTP-серверы передачу через FXP - он использует другой примитивный, но вполне состоятельный подход. Файл с удаленного сервера сначала скачивается во временную папку, после чего передается на сервер-назначение. Такой подход позволяет передавать файлы не только с FTP на FTP, но и, например, с HTTP на FTP и т.д. Другие аналогичные скрипты имели один серьезный недостаток - они умели передавать только одиночные файлы. PHP FXP умеет рекурсивно обходить каталоги и передавать целые директории с сохранением иерархии.

Сказка, но не совсем. Для работы утилиты необходимо иметь значительное количество свободного пространства на сервере: по крайней мере, не меньше объема файлов, которые ты собираешься передавать. Да и трафика будет расходоваться не меньше. Более того, скрипт работает только в том случае, если директива PHP safe_mode отключена - обязательно выясни это у провайдера, прежде чем начинать эксперименты.

Назад на стр. 081-032-2  Содержание  Вперед на стр. 081-032-4