Тайм-аут в php при работе с ftp

S
На сайте с 29.12.2008
Offline
43
1420

Тайм-аут в php при работе с ftp.

Сделал php-скрипт, который парсит сайт,

и загружает отпарсенные данные на мой копм,

сохраняя в файлах index.htm, index-2.htm

и referat-1.htm, referat-2.htm.

Парсит долго поэтому вначале этого скрипта set_time_limit(0);

Потом я загружаю их по ftp на другой сайт.

Пришла мысль: чтобы скрипт, как только сохранил

данные в файл index.htm, то сразу после этого загружал этот файл на сайт по ftp.

У меня скрипт сохраняет в файлы в двух местах

поэтому я сделал функцию

function upload2ftp($filename)

{
//$filename - имя файла, который нужно загрузить
$connect = ftp_connect('ftp.narod.ru');
//и дальше там понятно загружает на сайт
//логин п пароль указываю тут же
}

Так вот я подумал, что вызывая эту функцию в двух местах

я два раза выполняю $connect = ftp_connect('ftp.narod.ru');

Зачем два раза подключаться и потом отключаться?

Ведь гораздо логичнее сделать

вначале скрипта $connect = ftp_connect('ftp.narod.ru');

и ftp_login, потом в месте где данные сохраняются в файл index.htm, то сразу после этого вызвать функцию ftp_put()

и в конце скрипта ftp_quit();

Вначале скрипта соединяемся с ftp-сервером,

в середине скрипта загружаем файлы на ftp-сервер,

в конце скрипта закрываем соединение с ftp-сервером.

Скрипт долго парсит сайт, и поэтому вначале

скрипта написано set_time_limit(0);

в справке по php прочитал

ftp_connect (string host [, int port [, int timeout]])

Третий необязательный параметр определяет максимально время выполнения сценария (тайм-аут) и по умолчанию равен 90 секундам.

Так вот, мой скрипт работает долго и в зависимости от задаваемых ему вначале данных невозможно предсказать

сколько он точно будет работать. Как тогда рассчитать timeout соединения с ftp-сервером?

ВОПРОС: можно ли указать timeout=0 по аналогии set_time_limit(0); ???

[Удален]
#1

чето крепкое куришь ... такой текст написать сложно.

тебе можно один конект бзать, НО раз в 15-30 секунд ты должен слать команлу, чтобы фтп сервер не думал что тебя оторвало. команду любую, можешь список файлов запрашивать или тп, лучше имхо ту, которая не требует приема данных с сервера. а таймаут в параметре - таймаут для соединения с сервером.

S
На сайте с 29.12.2008
Offline
43
#2

А как я раз в 15-30 секунд буду слать команду?

Вот во Flash Action Script я бы сделал это через setInterval

Как сделать в php так чтобы определённая функция

вызывалась каждые 15 секунд?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий