fseek - как обойти при исп. удал. файлов

123

Guest
fseek - как обойти при исп. удал. файлов

По идее сначала нужно закачать определенный кусок файла.
Потом уже fseek?
Если fread использовать для чтения - ну не могу же я к примеру 100Mb файл окрывать?!
 

Crazy

Developer
Вывод: нужно, чтобы кто-то, для кого этот файл локален, прочел для тебя нужную часть.
 

Crazy

Developer
Еще раз. Медленно. Нужно. Чтобы кто-то. Кто-то другой. Не твой скрипт. Другой. Тот, для кого файл локален. Тот, кто живет там же, где скрипт. Для которого файл -- в локальной файловой системе. Чтобы прочел нужную часть. Для твоего скрипта. И передал. Твоему скрипту. Который не там, где файл. Который далеко. А кто читает -- там же, где и файл. Не там, где твой скрипт.

:)

Если ты забираешь через через HTTP, то это может быть скрипт (к примеру, оформленный в стиле REST Webservice). Или, если файл отдается непосредственно HTTP-сервером, через CURL отправь запрос на часть файла. А дальше получится так, как написано выше.
 

123

Guest
А как тогда динамически подавать запрос на определенную часть файла (не на весь)
Мне нужен resuming файла - fseek для поиска байта, с которого требуется продолжить закачку. Следовательно требуемая часть файла будет всегда разная

-~{}~ 03.04.04 21:26:

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

Crazy

Developer
Закачку КУДА? К тебе с удаленного сервера? От тебя на удаленный сервер?
 

123

Guest
Скрипт мой, через него загружать файл с другого сервера (если бы на моем, вопроса бы не было) (Anti-leech) с поддержкой resuming'а.

-~{}~ 03.04.04 22:44:

Скрипт то у меня рабочий, мешает, говорю только поганая fseek, а без такой конструкции поиска никак. Вот и думаю, чего можно сделать, как обойти
 

Crazy

Developer
Т.е. загружаешь к себе фрагмент файла и отдаешь клиенту? Вот и забирай по HTTP нужный фрагмент файла.
 

123

Guest
Вот и забирай по HTTP нужный фрагмент файла

В том то и вопрос. "забирай по HTTP нужный фрагмент файла". Как это сделать ????
Ведь неизвестно, когда пользователь захочет прервать загрузку, а потом ее продолжить.
<br>
Мне даже найти подходящий пример не удалось, все они работают только с относительными директориями и файлами
и не работают с http:// и ftp:// Поэтому спокойно юзают fseek.
 

hayk

Новичок
Если ты знаешь какой запрос приходит от клиента, когда он хочет качать файл не с начала, то что тебе мешает сформировать такой же запрос?
Ты же ведь знаешь с какого байта хотят качать этот файл :)
 

fixxxer

К.О.
Партнер клуба
И зачем разработчики php сделали эти идиотские префиксы http:// / ftp:// в file-функциях?
 

Crazy

Developer
Автор оригинала: 123
В том то и вопрос. "забирай по HTTP нужный фрагмент файла". Как это сделать ????
Алгоритм:

1. Скачать RFC на протокол HTTP 1.1
2. Прочитать и понять. Особо отметить место, где написано про докачку (выкачивание фрагментов).
3. Прочесть документацию на CURL.
4. Написать свой скрипт.

-~{}~ 04.04.04 18:03:

Автор оригинала: fixxxer
И зачем разработчики php сделали эти идиотские префиксы http:// / ftp:// в file-функциях?
Я всегда считал это глупым решением. До новичков ПРИНЦИПИАЛЬНО не доходит, что fopen('foo.txt') и fopen('http://foo/') имеют очень мало общего.

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

fixxxer

К.О.
Партнер клуба
Вот-вот, и я о том же.
Использовать их, конечно, можно, но предварительная терапия в виде RFC+telnet/fsockopen/curl обязательна.

PS. Насчет образования это ты, конечно, загнул чуток, у меня по этой теме самообразование исключительно, и ничего, справляюсь вроде... ;) Хотя, если бы оно было, я бы в свое время меньше глупостей делал, это да. :)

-~{}~ 04.04.04 18:10:

hayk
Проблема в том, что товарищ не понимает основ, а не в fseek.
 

Crazy

Developer
fixxxer, "образование" вовсе не сводится к протиранию штанов в вузе. Как раз самообразование зачастую приводит к получению куда более качественного образования, чем получают те, в кого это несколько лет насильно втюхивали в вузе. :)
 

123

Guest
Есть ли где нибудь реальный пример хотя бы того, как заменять fseek. Я бы хоть посмотрел, как работает, да понял, на чем я обломался
 

ForJest

- свежая кровь
123
fseek тебе уже не поможет. Никак. Тебе придётся сэмулировать броузер. Для сервера, с которого забираешь файл. Кусок файла. Броузеры это умеют. Ты этого не умеешь. Значит тебе нужно научится это делать.
Броузеры - это HTTP клиенты. Веб серверы - это HTTP серверы.
Так как они оба HTTP и серверы и клиенты то разговаривают они на специальном наречии. Которое называется HTTP.
HTTP это Hypertext Transfer Protocol. Т.е. это целый протокол, если тебе слово протокол о чём нибудь говорит. Если тебе всё это ни о чём не говорит, значит помочь тебе никто не состоянии. Потому что ты вообще ничего не понимаешь.

Если ты катался на самокате, а потом вдруг тебе понадобилось перевезти кучу земли с одного места на другое, то тебе придётся научится управлять грузовиком. И экскаватором тоже придётся. Хотя и самокатик и грузовик очень похожи тем, что на них можно кататься - тебе это ничем не поможет. И если тебе сказали - иди и учись на водителя грузовика - то иди. Ибо твои потуги "а покажите как кататься на грузовике" ни к чему не приведут. Всё.
 

123

Guest
Да знаю я прекрасно, что такое http:// ftp:// и php :mad: :mad:
<br>
<br>
сэмулировать браузер - для чего, для того, чтобы закачать файл (к примеру закешировать), ну а если народу будет куча, да еще один этот скрипт, это вообще, облом для сервера. Многие делают, на том же php - видимо по другому и проще (был и у меня вопрос как) Пишу и я скрипты !!! Дык знаний не хватает. Спросил и получил, извините за выражение, теоретическую лажу. На теории без примеров далеко не уедешь.
 

fixxxer

К.О.
Партнер клуба
вот тебе практика.

Тут немножко "в другую сторону", но какие хедеры - понятно.
 

123

Guest
Есть ли уже готовые продукты (бесплатные или платные (только на php)) с поддержкой скрытия адреса (antileech), resuming, ну и есстественно работоспособностю
<br>
с другими серверами по http:// и ftp:// при загрузке с них файлов.
<br>
Вопрос из offtop, но обыскав все известные мне источники я нашел только локальные скрипты, работающие только с файлами лежащими на их серверах.
 
Сверху