siv1987

siv1987
Рейтинг
427
Регистрация
02.04.2009
)))Прикол в том, что я это вариант уже использовал, точнее испробовал как раз после того, как дал предыдущий ответ - вариант тугой, и для больших файлов не подходит

Прикол в том, что этот вариант надо переделать чтобы отдавать сразу результат, а не сохранять в переменной. В этом примере просто наглядно показано как читать файл по кускам.

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


$handle = fopen("http://www.example.com/", "rb");
$contents = '';
while (!feof($handle)) {
echo fread($handle, 1024);
flush();
}
fclose($handle);

Уже обсуждалось. Поищите в одной из тем про вопросы и ответы DLE. А виной появлению этого хеша был какой-то сторонний js скрипт на странице.

http://www.php.net/manual/ru/function.fread.php


<?php
$handle = fopen("http://www.example.com/", "rb");
$contents = '';
while (!feof($handle)) {
$contents .= fread($handle, 8192); //чтение из дескриптора $handle по 8192 байт
}
fclose($handle);
?>
BeliyVV:
Почему? Будет, если выставить время на исполнения скрипта в неограниченое он спокойно качает в ОЗУ и воспроизводит, тем самым укладывая в даун слабый сервак)).

Что мешает не сохранять результат в память, а отдавать его непосредственно пользователю, или сохранять на диске если его объем это позволяет? Хотя ваш сервер в даун в любом случае уйдет если пользователей будет более менее приличное количество.

cURL

и file_get_contents, кстати, тоже по идее должен какими-то обрывками качать файл, не будет же он весь целиком закачивать его в память. Тут была подобная тема обсуждения /ru/forum/741694

Что значит не работает? Может ссылки формируются неправильно или что? Может в конце слеш нужен?

BeliyVV:
Я видел сайт, где это реализовано, но повторить не могу.

Сайт в студию.

Если это было бы так просто, этой темы как минимум бы не было /ru/forum/650489

Никак. (10 раз)

Если ТС нужно не только /test3/ отправлять на Джумлу, а ещё и /test1/ и /test2/

Ему не /test3/ или /test2/ или /test1/ нужно перенаправить, ему нужно кучу произвольных урлов, которые могут быть многие сотни.

Всего: 6568