Загрузка файла с ftp на сайт по крону

Статус
В этой теме нельзя размещать новые ответы.

pobo3

Постоялец
Регистрация
20 Окт 2014
Сообщения
61
Реакции
1
Доброй ночи.

стоит задача - нужно скачивать файл с ftp в определенную папку на сайте.
Не силен в php, почитал форумы инструкции, попробовал следующее

<?php

// объявление переменных
$local_file = 'имя_файла';
$server_file = 'имя_файла';
$ftp_server="ftp://сервер";
$ftp_username="логин";
$ftp_userpass="пароль";

// установка соединения
$conn_id = ftp_connect($ftp_server);

// вход с именем пользователя и паролем
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

$upload = ftp_put($conn_id, '/путь/до/локального/файла'.$paths.'/'.$name, $filep, FTP_BINARY);
// проверяем статус загрузки
if (!$upload) {
echo "Error: FTP upload has failed!";
} else {
echo "Good: Uploaded $name to $ftp_server";
}

// закрытие соединения
ftp_close($conn_id);

?>


и



<?php

$local_file = 'имя_файла';
$server_file = 'имя_файла';
$ftp_server="ftp://сервер";
$ftp_username="логин";
$ftp_userpass="пароль";

$conn = ftp_connect($ftp_server);

$login_result = ftp_login($conn, $ftp_username, $ftp_userpass);


if (ftp_get($conn, $LocalfileName, $ServerfileName, FTP_BINARY)) {
echo "имя_файла $LocalfileName \n";
}
else {
echo "Ошибка\n";
}

ftp_close($conn);

?>


запускаю через крон - ошибка

подозреваю что дело может быть в то, что не указываю полный путь до файла на ftp.
Но его пока не предоставили.

Подскажите пожалуйста, может что еще не так делаю? или может есть возможность реализовать все это другим способом?

Спасибо
 
подозреваю что дело может быть в то, что не указываю полный путь до файла на ftp.
Но его пока не предоставили.
Вот когда ФТП доступ будет, тогда и надо будет его тестировать.

запускаю через крон - ошибка
Какая?

Хотя без настройнного ФТП писать скрипты бесполезно.
Сначала настройте доступ с помощью мееджера — например Filezilla.
Убедитеь, что все работает.
Потом уже пишите скрипт, пути можете скоировать с файлменеджера.
 
Мой обычный рабочий вариант:
PHP:
$curl = curl_init();
        curl_setopt( $curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.1.2883.87 Safari/537.36" );
        $file = fopen("filepath_to_save", 'w'); // путь к файлу, куда сохраняем
        curl_setopt($curl, CURLOPT_URL, "ftp://host/file"); // путь к файлу на фтп
        curl_setopt($curl, CURLOPT_USERPWD, "FTP_LOGIN:FTP_PASS"); // если фтп с паролем
        curl_setopt( $curl, CURLOPT_RETURNTRANSFER, true );
        curl_setopt( $curl, CURLOPT_FOLLOWLOCATION, 1 );
        curl_setopt( $curl, CURLOPT_FRESH_CONNECT, 1 );
        curl_setopt($curl, CURLOPT_FILE, $file);
$result = curl_exec($curl);
curl_close($curl);
fclose($file);
 
Последнее редактирование:
Это одной строкой кода делается:
PHP:
copy('ftp://login:password@sitename.com/path/to/file.txt', 'local/path/to/file.txt');
Путь на FTP относительно домашнего каталога FTP-юзера, на принимающем сервере - любой валидный.
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху