| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > посимвольное считывание файла |
| Автор: chiffa_cff 17.5.2007, 22:06 |
| Всем привет. Такая ситуация. Есть файл довольно таки большого размера. Читаю его посимвольно $fp=fopen ("baza.txt", "r"); while (!feof($fp)) { $order2=fgets ($fp,100); } fclose ($fp); Такой вопрос как сделать что бы если вдруг у пользователя оборвется конект то что бы вывод (чтение) файла начался с того же места где остановился при обрыве связи..... Зарание всем спасибо |
| Автор: Glip 17.5.2007, 22:09 |
| http://ru2.php.net/manual/en/function.fseek.php оно ? |
| Автор: chiffa_cff 17.5.2007, 22:13 |
| эммммммммм, fseek($fp, 0); а параметр "0" это что?.... |
| Автор: Glip 17.5.2007, 22:19 |
| http://ru2.php.net/manual/ru/function.fseek.php ну попробовали бы переключить язык |
| Автор: chiffa_cff 17.5.2007, 22:37 | ||
БЛин.... файл находжится на удаленном сервере.... обращение к нему как и будет либо по "http://" либо "ftp://"... |
| Автор: Glip 17.5.2007, 22:51 |
| хм. тогда доки по протоколам как указывать смещение Добавлено @ 22:52 и к стати в вопросе нет что файл находится не на той же системе где работает скрипт $fp=fopen ("baza.txt", "r"); - где здесь можно понять что доступ к файлу по http или ftp ? |
| Автор: chiffa_cff 17.5.2007, 22:59 | ||
Извеняюсь за неточность....
по подробнее можно? |
| Автор: Glip 17.5.2007, 23:01 |
| к сожалению не занимался никогда такими делами. но всякие дакнлоадеры же закачивают файлы в несколько потоков задавая размер и смещение для каждой секции. следовательно это поддерживается протоколами. |
| Автор: chiffa_cff 17.5.2007, 23:15 |
| ладно посибо за помощь. буду копать |
| Автор: Anarki 18.5.2007, 00:05 | ||
| Пусть пользователь отсылает Range в запросе GET Брать нужно значение отсюда $_SERVER['HTTP_RANGE'], если она есть значит юзер затребовал содержимое и указал Range(диапазон байт) Из файла считывается информация и выводится в браузер с того места , с которого нужно. Для этого анализируется $_SERVER['HTTP_RANGE'] Range может быть таким [start-]- Начиная со start(включительно) [start-]-[end] От start до end(включительно) -[num] Последние num байт [num] Начиная со смещения num 0-0 Первый байт -1 Последний байт Еще могут быть списки интервалов. Соответственно вместо start, end - номера байт А в скрипте отдаются вот эти заголовки(через header() естественно)
И наверное Accept-Ranges: bytes Советую использовать любой менеджер закачек, с возможностью докачки, чтобы протестировать свой скрипт |
| Автор: chiffa_cff 18.5.2007, 00:09 |
| псиба чот откликнулся! а готовых примеров скриптов нету?............ |