Задавайте свои вопросы и отвечайте на вопросы других участников форума
Для этого предназначена функция ftp_connect
Итак
1. Подготавливаем переменные
$ftp_server = "ftp.site.ru";
$ftp_user_name = "login";
$ftp_user_pass = "password";
$fileTo = "/file.xml";
$fileFrom = $_SERVER['DOCUMENT_ROOT']."/directory/file.xml";
2. Подключаемся к удаленному ftp серверу
$conn_id = ftp_connect($ftp_server);
3. Входим при помощи логина и пароля
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
4. Проверяем подключение
if ((!$conn_id) || (!$login_result)) {
echo "FTP connection has failed!";
echo "<br>";
echo "Attempted to connect to $ftp_server for user: $ftp_user_name";
exit;
} else {
echo "Connected to $ftp_server, for user: $ftp_user_name";
echo "<br>";
}
5. Включаем пассивный режим.
В пассивном режиме передача данных инициируется клиентом, а не сервером.
Данный режим может понадобиться в случае, если клиент находится за брандмауэром.
ftp_pasv($conn_id, true);
6. Загружаем файл
$upload = ftp_put($conn_id, $fileTo, $fileFrom, FTP_ASCII);
7 .Проверяем статус загрузки
if (!$upload) {
echo "Error: FTP upload has failed!";
} else {
echo "Good: Uploaded $name to $ftp_server";
}
8. Закрываем соединение
ftp_close($conn_id);
Вот некоторые функции, которые помогут расширить функционал работы с удаленным ftp сервером
ftp_mkdir - создаёт новую директорию
ftp_put - загружает файл в удаленный сервер
ftp_rmdir - удаляет выбранную директорию
ftp_delete - удаляет файл на удаленном сервере
ftp_cdup - позволяет перейти в родительскую директорию
ftp_chdir - меняет текущий путь на удаленном сервере
ftp_chmod - устанавливает права доступа к файлу
ftp_get - загружает файл с удаленного сервера
ftp_nlist - показывает список файлов в выбранной директории
ftp_rename - переименовывает файл
ftp_size - показывает размер файла