Как корректно прервать ftp_nb_get

Hordi

Новичок
Как корректно прервать ftp_nb_get

Приветствую

Вот схема кода:
ftp_connect
ftp_login
$ret=ftp_nb_get
while($ret===FTP_MOREDATA){
$ret = ftp_nb_continue;
if(...) break;
}
ftp_close

Мне нужно прервать закачку и закрыть соедингение не дожидаясь пока примется весь файл. Проблема в том, что когда я это делаю, то на вызове ftp_close происходит длительная задержка (1-2 минуты). Как это дело обойти?

Спасибо
 

basboy

Новичок
очевидно, что тебе нужно делать заранее аналих того, нужно тебе этот файл заливать или нет. А на середине закачки сбрасывать её -- это глупо.
 

Hordi

Новичок
Автор оригинала: basboy
очевидно, что тебе нужно делать заранее аналих того, нужно тебе этот файл заливать или нет. А на середине закачки сбрасывать её -- это глупо.
Абсолютно не глупо - начал файл скачивать, а потом передумал! Но у меня задача поинтересней - я организовал скачку файла по кускам, и эта блоровка мне портит всю картину!
 

kruglov

Новичок
А у протокола FTP разве нету возможности запрашивать часть файла?

А как тогда люди докачку делают и в несколько потоков качают?
 

SiMM

Новичок
> А у протокола FTP разве нету возможности запрашивать часть файла?
Есть. А [m]ftp[/m] это позволяет? Или это реализуется [m]fsockopen[/m]ом или [m]CURL[/m]ом?
 

Hordi

Новичок
Автор оригинала: kruglov
А у протокола FTP разве нету возможности запрашивать часть файла?

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

-~{}~ 16.11.05 10:18:

Основные функции по работе с сокетами у хостера закрыты :( Первоначальный вариант у меня через сокеты на локальной тачке работал на-ура! Но тут не катит :(
 

kruglov

Новичок
SiMM
fsockopenом реализуется что угодно, хоть квейк-клиент.

Что умеет конкретно [m]ftp[/m], я не знаю, я знаю, что запрос части файла возможен, и удивлялся, почему бы этим не воспользоваться.

А читать ман лично мы будем, когда это понадобится лично нам ;)

Hordi
Как бы хостер не обиделся...
 

Hordi

Новичок
Как бы хостер не обиделся... [/QUOTE]
Не обидится - он обещал неограниченный траффик!

Это все хорошо, но как проблему решать? Неужели ни у кого не было необходимости прервать закачку по ftp? Не верю!
 

SiMM

Новичок
> fsockopenом реализуется что угодно, хоть квейк-клиент.
Это я прекрасно понимаю, меня интересовал именно первый вопрос - умеет ли это FTP.

> Что умеет конкретно ftp, я не знаю
Понятно. Просто думал может делали чего.

[m]ftp_raw[/m] наверно можно воспользоваться - но читать RFC всё равно придётся.
 

kruglov

Новичок
Hordi
А зачем вообще файл тогда сохранять на хостинге? Ну и отдавайте его параллельно в браузер.
 

Hordi

Новичок
Автор оригинала: kruglov
Hordi
А зачем вообще файл тогда сохранять на хостинге? Ну и отдавайте его параллельно в браузер.
На хостинге удобно хранить файл со скачанным размером и принимать решение о закачке при обрыве связи, хотя можно подумать и о таком решении...

Разместил свой вопрос как багу на php.net. Ответили что в 5.0.5-CVS вроде это решено. Понятное дело мне этот вариант не подходит :(
 

Hordi

Новичок
Ну так я написал "вроде", т.е. надеюсь раз рекомендовали использовать...
 
Сверху