powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Одновременная скачка и отдача файла клиенту
18 сообщений из 18, страница 1 из 1
Одновременная скачка и отдача файла клиенту
    #37735524
doutkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа, всем доброго времени суток!
долго, очень долго мучал этот вопрос, поверьте) в итоге понял, что не хватает уже даже нагугленных знаний.
суть вопроса следующая.
есть сервер, назовем его сервер Х (причем это скорее не сервер, а много доменов третьего уровня на нескольких разных доменах второго уровня). на нем лежат, например, мп3-шки и flv-шки, у всех динамически сгенерированное название. есть веб-доступ к Х. чтобы качать под каким-либо айпишником, надо под ним и залогиниться. иначе не дает.
есть сервер Y, мой сервер. на нем есть несколько скриптов, которые позволяют авторизоваться на сервере Х и получить нужное файло, но уже от имени сервера Y.
цель: доставить файл клиенту с Х через Y за максимально возможно время с возможностью доступа к другим страницам сайта во время закачки.

было несколько мыслей по-этому поводу:
1. сливать файло с Х на Y, в конце скрипта выдавать ссылку на файл уже на сервере Y. хранить файло некоторое время (24 часа) и потом удалять.
2. одновременный слив с Х в буфер Y и выдача буфера клиенту. в данный момент работает примерно так:

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
//отправка заголовков для запроса файла с Х через fsockopen+fwrite
//получение заголовков с Х, их обработка (получение размера файла)
//отправка заголовков клиенту через header()
//и в таком цикле пересылается весь файл ($fp -resource, полученный от fsockopen): 
while(!feof($fp))
{
    $buffer = fread($fp, $buffer_size);
    echo $buffer;
}


3. rewrite mod??????
4. ?????

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

помогите пожалуйста, делом/советом ) всем заранее спасибо за потраченное время!
...
Рейтинг: 0 / 0
Одновременная скачка и отдача файла клиенту
    #37735542
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doutkin2 вариант не устраивает потому, что пока скрипт не отработает - доступ к любой странице сайта Y не увенчается успехом. виснет, одним словом. это логично, скрипт ведь не отработал..Не видно логики. Может быть, работу других скриптов тормозит открытая в этом долгоиграющем скрипте сессия?
...
Рейтинг: 0 / 0
Одновременная скачка и отдача файла клиенту
    #37735555
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doutkin,

Нифига не понятно. Похоже, это, как заниматься сексом стоя в гамаке.
...
Рейтинг: 0 / 0
Одновременная скачка и отдача файла клиенту
    #37735597
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkledoutkin2 вариант не устраивает потому, что пока скрипт не отработает - доступ к любой странице сайта Y не увенчается успехом. виснет, одним словом. это логично, скрипт ведь не отработал..Не видно логики. Может быть, работу других скриптов тормозит открытая в этом долгоиграющем скрипте сессия?
+1
...
Рейтинг: 0 / 0
Одновременная скачка и отдача файла клиенту
    #37735605
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А мне все понятно.
Но все равно ничего советовать не буду чтобы не плодились говносайты.
...
Рейтинг: 0 / 0
Одновременная скачка и отдача файла клиенту
    #37736375
doutkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
netwindА мне все понятно.
Но все равно ничего советовать не буду чтобы не плодились говносайты.
этим "говносайтом" пользуюсь я и мои друзья. РНР - мое хобби, а эта задача - неплохой повод поломать голову и узнать много нового.

vkledoutkin2 вариант не устраивает потому, что пока скрипт не отработает - доступ к любой странице сайта Y не увенчается успехом. виснет, одним словом. это логично, скрипт ведь не отработал..Не видно логики. Может быть, работу других скриптов тормозит открытая в этом долгоиграющем скрипте сессия?
виснет, скорее всего потмоу, что отдается файл из буфера через echo браузеру, вот он и ждет конца передачи. другим браузером в этот момент можно работать.

ShSergedoutkin,

Нифига не понятно. Похоже, это, как заниматься сексом стоя в гамаке.
можно просунуть ноги через сетку гамака и встать на землю, тогда ситуация изменится:Р но это отсутпление
упрощу вопрос: как правильно отдать клиенту файл, которого не существует локально?
...
Рейтинг: 0 / 0
Одновременная скачка и отдача файла клиенту
    #37736419
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doutkinупрощу вопрос: как правильно отдать клиенту файл, которого не существует локально?
выставить нужные заголовки(Content-Type,Content-Length, Content-Disposition,Content-Range ... ) и отдать нужную порцию данных
...
Рейтинг: 0 / 0
Одновременная скачка и отдача файла клиенту
    #37736474
doutkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
r udoutkinупрощу вопрос: как правильно отдать клиенту файл, которого не существует локально?
выставить нужные заголовки(Content-Type,Content-Length, Content-Disposition,Content-Range ... ) и отдать нужную порцию данных

для этого случая есть разница в использовании conection: close/keep-alive ?
...
Рейтинг: 0 / 0
Одновременная скачка и отдача файла клиенту
    #37736574
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторупрощу вопрос: как правильно отдать клиенту файл, которого не существует локально?
Ну ваш код в первом посте это собственно и делает.
...
Рейтинг: 0 / 0
Одновременная скачка и отдача файла клиенту
    #37736587
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doutkinдругим браузером в этот момент можно работать.Ну точно, сессия.
...
Рейтинг: 0 / 0
Одновременная скачка и отдача файла клиенту
    #37736660
doutkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkledoutkinдругим браузером в этот момент можно работать.Ну точно, сессия.

спасибо, об этом даже не задумывался. страницы открываются во время загрузки)
...
Рейтинг: 0 / 0
Одновременная скачка и отдача файла клиенту
    #37736680
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doutkinnetwindА мне все понятно.
Но все равно ничего советовать не буду чтобы не плодились говносайты.
этим "говносайтом" пользуюсь я и мои друзья. РНР - мое хобби, а эта задача - неплохой повод поломать голову и узнать много нового.

слишком много. чтобы задать вопрос нужно знать половину ответа.

doutkinvkleпропущено...
Не видно логики. Может быть, работу других скриптов тормозит открытая в этом долгоиграющем скрипте сессия?
виснет, скорее всего потмоу, что отдается файл из буфера через echo браузеру, вот он и ждет конца передачи. другим браузером в этот момент можно работать.

не приходило в голову, что сервер отдачи контента специально не отдает юзеру много потоков?
...
Рейтинг: 0 / 0
Одновременная скачка и отдача файла клиенту
    #37736721
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
session_write_close в помощь
...
Рейтинг: 0 / 0
Одновременная скачка и отдача файла клиенту
    #37736737
doutkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
doutkinпропущено...

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

не приходило в голову, что сервер отдачи контента специально не отдает юзеру много потоков?[/quot]
в данном случае имелось ввиду обращения к другим страницам моего сайта, а не медиа-сервера. товарищ vkle меня правильно понял.
...
Рейтинг: 0 / 0
Одновременная скачка и отдача файла клиенту
    #37736777
doutkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hettsession_write_close в помощь
аааааааааааааааааа вот они, волшебные буквы! всеработает так, как и должно!!!!!!!!!!!!!!
всем спасибо, особенно Hett и vkle !!! вопрос решен
...
Рейтинг: 0 / 0
Одновременная скачка и отдача файла клиенту
    #37736932
doutkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
кстати, раз уж начал.. таким макаром не получается передать большие файлы пользователю, потомучто скрипт слишком долго работает и обрубается по max_execution_time. ini_set('max_execution_time',0) значительно увеличил время работы скрипта, но передача длинных файлов по-прежнему заканчивается ошибкой. если честно, то просто не знаю как правильно это сделать.
...
Рейтинг: 0 / 0
Одновременная скачка и отдача файла клиенту
    #37737032
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хостер может ограничивать время работы процесса на уровне ОС. Если в вашем случае так и есть, то подход должен быть иным - либо менять хостинговый сервер (смотреть в сторону выделенных серверов) или искать другой способ передачи файла.
...
Рейтинг: 0 / 0
Одновременная скачка и отдача файла клиенту
    #37737081
doutkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkleХостер может ограничивать время работы процесса на уровне ОС. Если в вашем случае так и есть, то подход должен быть иным - либо менять хостинговый сервер (смотреть в сторону выделенных серверов) или искать другой способ передачи файла.
так и думал..
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Одновременная скачка и отдача файла клиенту
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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