Работа с FTP через PHP
Иногда бывает нужно загрузить различные файлы по FTP через PHP. Например, можно подправить какой-нибудь движок, а затем определить все свежие файлы (по дате изменения) и загрузить их обратно на сервер. Таким образом, если движок большой, то не придётся ждать, пока загрузятся все файлы. Но это лишь пример того, как можно использовать FTP через PHP. А теперь давайте разберём, как это делается.
Разберём простой пример по работе с FTP через PHP:
<?php
$ftp = ftp_connect("ftp.site.ru", "21", "30"); // Создаём идентификатор соединения (адрес хоста, порт, таймаут)
$login = ftp_login($ftp, "admin", "password"); // Авторизуемся на FTP-сервере
if (!$login) exit("Ошибка подключения");
ftp_mkdir($ftp, "myrusakov"); // Создаём директорию
ftp_chdir($ftp, "myrusakov"); // Заходим в созданную директорию
ftp_put($ftp, "image.bmp", "image.bmp", FTP_BINARY); // Загружаем image.bmp на FTP в бинарном режиме
ftp_put($ftp, "new_doc.xml", "doc.xml", FTP_BINARY); // Загружаем doc.xml (делаем имя new_doc.xml) на FTP в бинарном режиме
$files = ftp_nlist($ftp, "."); // Получаем список файлов из текущей директории
for ($i = 0; $i < count($files); $i++) {
echo $files[$i]."<br />"; // Выводим все полученные файлы
}
ftp_get($ftp, "local.xml", "new_doc.xml", FTP_BINARY);
ftp_close($ftp);
?>
Код хорошо прокомментирован, поэтому, что происходит, думаю, Вы понимаете. Безусловно, это лишь часть функций, самые важные. А с полным списком Вы можете ознакомиться в справочнике.
Не могу сказать, что я очень часто работаю с FTP через PHP, но уметь это необходимо любому разработчику, поэтому и написал эту статью.
-
- Михаил Русаков
Комментарии (3):
привет,добавил сайт на хостинг,сайт на php.набрал в браузере адрес сайта,вместо сайта вышел html код станицы index.php.в чем здесь проблема?спасибо.
Ответить
Так и должен был выйти HTML-код, а если помимо него выводится ещё и PHP, то проверьте: поддерживает ли хостинг PHP.
Ответить
А почему XML-файлы передаются в бинарном режиме?
Ответить
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.