Регистрация Войти
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
Загрузка файла на ftp-сервер по FTP протоколу на PHP
$file_name = 'файл для загрузки с путем';
$ftp_server = 'your_domain.net';
$ftp_port = 21;
$ftp_file = 'имя файла с путем на ftp-сервере';
$ftp_user_name = 'ftp-user';
$ftp_user_pass = 'ftp-pass';
$error_to = 'your@email.net'; // E-mail для сообщений об ошибках
$ftp = ftp_connect($ftp_server, $ftp_port, 20);
ftp_login($ftp, $ftp_user_name, $ftp_user_pass);
ftp_pasv($ftp, true); // Passive mode
if(!ftp_put($ftp, $ftp_file, $file_name, FTP_BINARY)){
// Ошибка загрузки
mail($error_to,
'FTP-upload error',
"There was a problem while uploading {$file_name} to {$ftp_server}.",
"From: admin@htmlweb.ru\nContent-Type: text/plain; charset=utf-8");
}
ftp_close($ftp);
Вариант загрузки файла на ftp-сервер в асинхронном режиме с автодокачкой
$ftp_server = 'your_domain.net';
$ftp_user_name = 'ftp-user';
$ftp_user_pass = 'ftp-pass';
$file = 'index.php';
$fp = fopen($file, 'r');
$ftp = ftp_connect($ftp_server);
$login_result = ftp_login($ftp, $ftp_user_name, $ftp_user_pass);
// Начало загрузки вместо FTP_AUTORESUME можно указать ftp_size($ftp,"test.remote") для докачки с места обрыва
$ret = ftp_nb_put($ftp, "test.remote", "test.local", FTP_BINARY, FTP_AUTORESUME);
while ($ret == FTP_MOREDATA) {
// производим какие-то действия ...
echo ".";
// продолжение загрузки ...
$ret = ftp_nb_continue($ftp);
}
if ($ret != FTP_FINISHED) {
echo "При загрузке файла произошла ошибка...";
exit(1);
}
.
Прокомментировать/Отблагодарить