чудо{вищные} заметки

Sorry for my terrible english. My native language is PHP.

phing.tasks.ext.FtpUploadTask

Вычищая комментарии от спама (достали, честное октябрятское) наткнулся на незаслуженно позабытый вопрос товарища altern-a про обещанный ftpupload-таск. Вы спросили — мы ответили: нет, мне не сложно — делюсь.

Собственно сам класс FtpUploadTask.php. И небольшие пояснения.

Код по означенной ссылке необходимо сохранить в файл %PHING_HOME%/classes/phing/tasks/ext/FtpUploadTask.php (Разумеется вы уже знаете что такое Phing и он у вас установлен и готов к использованию).
Для работы требуется установленный в include_path PEAR::Net_FTP, которому в свою очередь необходим php-extension FTP.

На заметку виндузятникам
Первое можно установить посредством выполнения магического пасса в командной строке:
>pear install —all-deps net_ftp
Второе в виндовом php уже вкомпилено.

Параметры, которые принимает task (на всякий случай на моём террибл инглиш ):

Name Type Description Default Required
host String Hostname. n/a Yes
port Integer Ftp server’s port. 21 No
username String Ftp user n/a Yes
password String Ftp password n/a Yes
targetDir String Path to destination directory . (FTP-user’s home) No
mode String Upload FTP-mode. Binary No
cleanDir Boolean Cleanup target directory before upload? False No
overwriteExisten Boolean Overwrite existen files? True No

И пример использования : привожу часть build.xml необходимую и достаточную для запуска таска.

<!-- //skip -->
<taskdef classname="phing.tasks.ext.FtpUploadTask" name="ftpupload" />
<!-- //skip -->
<target name="deploy">
<ftpupload host="example.com" username="joe" password="$ecr3t" targetDir="/remote/project_home/">
<fileset dir="/path/to/local/project">
<include name="**" />
<exclude name="**/*.dist" />
<exclude name="src/*" />
</fileset>
</ftpupload>
</target>
<!-- //skip -->

Разумеется taskdef удобнее перенести в defaults.properties, для того чтобы не таскать его из проекта в проект.

И снова повторюсь — «таким образом программист может за три часа написать программу, которая сделает за пять минут то, что другой человек делал бы целый час…» ;o)

Technorati Tags: , ,

Ноябрь 15, 2007 Posted by | dev, php | Оставьте комментарий