powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP FTP
8 сообщений из 8, страница 1 из 1
PHP FTP
    #37744785
Репослав
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!
Возникла проблема:

Есть скрипт, который достаточно долго работает (5-15 минут). По мере надобности он вытаскивает файлы по FTP.
Проблема в том, что ftp_get() не возвращает код ошибки в случае ошибки. Долго не мог разобраться, в чем же проблема, почему иногда все скачивается, а иногда перестает. Оказывается, между обращениями к FTP может проходить довольно долгое время, и FTP-сервер закрывает соединение по таймауту. Однако я не могу узнать из скрипта, открыто соединение, или нет.

Есть несколько вариантов решения проблем:
1) перед каждым скачиванием устанавливать соединение заново;
2) юзать сокеты =)
3) юзать system + wget =)

Может кто знает более изящное решение данной проблемы?
...
Рейтинг: 0 / 0
PHP FTP
    #37744945
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Репослав,

чем неустраивает 1) ?

-открыли соединение
-сделали что нужно
-закрыли соединение
...
Рейтинг: 0 / 0
PHP FTP
    #37745033
Репослав
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
r u,
мне кажется неправильным с каждым ftp_get() открывать и закрывать соединение. Это похоже на костыль) ИМХО, соединение нужно закрывать тогда, когда в нем пропадает необходимость.
...
Рейтинг: 0 / 0
PHP FTP
    #37745082
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть же холостые команды для поддержания фтп-соединения - PWD и NOOP. Выполнять их почаще в процессе работы скрипта.
...
Рейтинг: 0 / 0
PHP FTP
    #37745101
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Репославмежду обращениями к FTP может проходить довольно долгое время, и FTP-сервер закрывает соединение по таймауту

т.е. в процессе выполнения какихто запросов или вычислений, нет возможности делать запросы для поддержания соединения?
а когда скрипт получает управление то соединение уже закрыто по таймауту?
...
Рейтинг: 0 / 0
PHP FTP
    #37745308
Репослав
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle, да, как-то не подумал, что можно бесполезные команды. Хотя, не считаю в данном случае это идеальным решением, но видимо, придется его использовать, спасибо!

r u, на практике, такого еще не было, но теоретически может быть. Мне просто кажется странным, что функция не возвращает какой-либо код ошибки: либо true, либо false. Это не достаточно для полноценного взаимодействия с FTP.
...
Рейтинг: 0 / 0
PHP FTP
    #37745435
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Репославне считаю в данном случае это идеальным решениемНу... это стандартное решение для всех фтп-клиентов. NOP скорее всего как раз и ввели в протокол для таких целей. Для данного случая оно может быть и неоправданным, особенно если за время работы скрипта всего два сеанса связи. В таком случае вполне разумным будет открыть-поработать-закрыть. Если же сеансов фтп множество, тогда соединение наверно лучше держать открытым - холостая команда отработает скорее всего быстрее чем относительно медленная команда установки соединения.
...
Рейтинг: 0 / 0
PHP FTP
    #37745482
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по возможности можно поглядеть в сторону
http://ru.wikipedia.org/wiki/SCP
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP FTP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]