Загрузка файлов по FTP с помощью Phing

15 октября, 2008
phing ftp

Предыдущая статья о Phing была немного не полной из-за отсутствия возможности загружать файлы на сервер в автоматическом режиме.

В стандартной комплектации Phing загрузку по FTP не поддерживает (кстати, довольно странно). Но, естественно, писать самостоятельно этот task не придется. Все уже сделано за нас ;) .

Я нашел два task’а, предназначенных для работы с FTP: FtpUploadTask и FtpDeploy.

Т.к., судя по описанию, возможности и настройки практически идентичны, я расскажу только о первом. К тому же его автор ведет собственный блог (Чудо{вищные} заметки) и написал довольно много интересных статей о Phing.

Прежде чем перейти к описанию, хочу предупредить.

Не ставьте эксперименты на вашем рабочем сервере! Установите локальный FTP (вполне подойдет FileZilla Server (http://filezilla-project.org/)) и тестируйте на нём.

Устанавливаем task.

Качаем файл FtpUploadTask.php и сохраняем его в папку $PHING_DIR$/tasks/ext/ ($PHING_DIR$ – папка в которую установлен Phing).

Объявляем новый task. Для этого в build файл добавляем строку.

  1. <taskdef name="ftpupload" classname="phing.tasks.ext.FtpUploadTask" />

Теперь можно использовать ftpupload для отправки файлов на сервер.

Я приведу пример задачи, которую написал в дополнение к предыдущей статье.

  1. <target name="deploy" depends="copyfiles, gzipjs, minifycss">
  2.     <ftpupload host="host" username="user" password="pass" cleanDir="true" targetDir="/app_folder/">
  3.         <fileset dir="${DEPLOY_DIR}">
  4.         </fileset>
  5.     </ftpupload>
  6. </target>

Здесь мы указали следующие параметры:

1) host – адрес сервера;

2) username – имя пользователя (с правами записи);

3) password – пароль;

4) cleanDir – удаляем все старые файлы;

5) targetDir – папка в которую будет загружено приложение.

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

Кроме того, можно задать ещё несколько параметров, например, явно указать порт FTP сервера. Полный список параметров можно посмотреть здесь.

Как видите, Phing – это очень удобный инструмент, особенно если вы нашли все необходимые task'и ;) . Но, в любом случае, если вы можете написать PHP скрипт, который решает вашу задачу, то переделать его в виде task’а будет совсем не сложно.

До встречи!

P.S. Ещё раз хочу напомнить. Подумайте дважды (лучше трижды), прежде чем запускать ftpupload с параметрами cleanDir="true" targetDir="/". Восстановить файлы будет НЕВОЗМОЖНО.

Интересно почитать:

Маленькие хитрости Google – найдем наших конкурентов в AdSense.

Понравилась статья? Подписывайтесь на продолжение rss link !

Или на мой твиттер twitter link

]]>

Добавьте эту страницу в google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

]]>

Опубликовано в PHP, Phing, Web разработка Комментарии (3) »

]]>

Комментарии (3)

Вы можете отслеживать обсуждение записи с помощью RSS 2.0 rss link

Вы также можете оставить комментарий, или трекбек с Вашего сайта.

]]>
  1. Полезная статья. Быть может, когда-нибудь воспользуюсь.

  2. Странно, почему разработчики не позаботились об этом сами. Может, следующую версию стоит подождать..

]]>

Оставить комментарий

* - обязательные для заполнения поля

]]>