- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Переиграть и победить: как анализировать конкурентов для продвижения сайта
С помощью Ahrefs
Александр Шестаков
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Имеется php скрипт (my.com/dl.php) который отдает файл, находящийся в другом месте в интернете (other.com/file.rar), юзеру. Схема простая, делаю curl'ом запрос к удаленному файлу, изменяю заголовки скрипта так что бы содержимое интерпретировалось как скачка
header("Content-type:".$ct.";");header("Content-Disposition: attachment; filename=".$title.";");
header("Content-Length:".$size.";");
и в конце концов echo результат curl Запроса. Все работает отлично, когда удаленный файл относительно маленьких размеров, в противном же случае, перед появлением диалога загрузки файла проходит время, достигающее порой минуты (при размере файла > 500 MB). Т.е. к скрипту обращаешься, он думает некоторое время и только потом вылезает диалог загрузки файла. Я знаю что данное поведение не нормально, т.к. если обратиться напрямую к удаленному файлу, диалог загрузки появляется моментально независимо от размера файла. Где грабли?
видать задержка из-за скачивания удалённого файла на сервер - перед тем как отдать его пользователю...
видать задержка из-за скачивания удалённого файла на сервер - перед тем как отдать его пользователю...
Исходя из этого, можно сделать предположение, что скрипт сначала скачивает некоторую часть файла а лишь потом начинает отдавать её юзеру. Собственно тогда вопрос, как заставить скрипт отдавать файл сразу, т.е. по сути работать в режиме прокси.
http://upcoder.blogspot.com/2011/01/curl-php.html
попробуйте через сокеты...
Исходя из этого, можно сделать предположение, что скрипт сначала скачивает некоторую часть файла а лишь потом начинает отдавать её юзеру. Собственно тогда вопрос, как заставить скрипт отдавать файл сразу, т.е. по сути работать в режиме прокси.
Как-то так http://www.php.net/manual/ru/function.curl-setopt.php#52675
http://upcoder.blogspot.com/2011/01/curl-php.html
Здесь я только уяснил как можно записать в файл, минуя буфер, а как выдать пользователю на страницу я не понял.
---------- Добавлено 18.09.2012 в 23:27 ----------
Как-то так http://www.php.net/manual/ru/function.curl-setopt.php#52675
А тут я тоже не много не понял. Тем не менее цели я достиг, помогло RETURNTRANSFER=>0. Спасибо! Я так понял вы мне именно на это указывали? Если нет то видимо на BINARYTRANSFER, что, как показал эксперимент, ни к чему не привело)
Тем не менее цели я достиг, помогло RETURNTRANSFER=>0. Я так понял вы мне именно на это указывали? Если нет то видимо на BINARYTRANSFER, что, как показал эксперимент, ни к чему не привело)
Конкретно ни на что, пример скрипта как скачивать файл. RETURNTRANSFER вообщето либо совсем не нужен, либо == 0. Он таки как раз записывает ответ в строку, вместо того чтобы его сразу отдавать юзеру.
а зачем к себе качать потом отдавать?
при большом трафе - накладно не будет? да и нагрузка...
а зачем к себе качать потом отдавать?
при большом трафе - накладно не будет? да и нагрузка...
Вероятно это требуется в контексте определенной задачи, иначе я бы не стал заморачиваться по этому поводе, верно?)
я всего лишь хотел обратить на это ваше внимание - возможно же, что не думали об этом... - а потом было бы достаточно проблемно выкручиваться...