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
passiveMode Boolean use passive or active ftp-data connection 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.11.07  
MiRacLe
 |  ,  | RSS с комментариями  | trackback url

[...] Закачивать файлы будем посредством task-а, который я опубликовал ранее – FtpUploadTask. [...]

[...] нашел два task’а, предназначенных для работы с FTP: FtpUploadTask и FtpDeploy. Т.к., судя по описанию, возможности и настройки [...]

19.04.10 15:04 |  comment от tih

Есть ведь родной таск у финга:

PEAR\phing\tasks\ext\FtpDeployTask.php

http://phing.info/docs/guide/stable/chapters/appendixes/AppendixC-OptionalTasks.html#FtpDeployTask

19.04.10 15:32 |  comment от MiRacLe

Это он сейчас “есть”, а три года назад его не было.

Есть возможность прокомментировать ситуацию

WP не сожрёт только эти тэги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>