- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева

Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
как написали выше, нужно делать через сокеты, CURL вам не поможет. а то, что удалось "достигнуть цели" - простое совпадение. суть в том, что при скачивании файла посредством CURL, он сначала ЦЕЛИКОМ будет загружен вам на сервер и только потом начнёт отдаваться пользователю. вам же нужно, насколько я понял, "прозрачно пробрасывать" файл через свой сервер.
P.S. да и вообще, если вы файлом не проделываете никаких манипуляций, можно просто сделать проксирование в Apache или nginx, смотря что у вас там стоит. так будет проще и менее накладно по ресурсам.
как написали выше, нужно делать через сокеты, CURL вам не поможет. а то, что удалось "достигнуть цели" - простое совпадение. суть в том, что при скачивании файла посредством CURL, он сначала ЦЕЛИКОМ будет загружен вам на сервер и только потом начнёт отдаваться пользователю. вам же нужно, насколько я понял, "прозрачно пробрасывать" файл через свой сервер.
P.S. да и вообще, если вы файлом не проделываете никаких манипуляций, можно просто сделать проксирование в Apache или nginx, смотря что у вас там стоит. так будет проще и менее накладно по ресурсам.
Конечно организовать прокси посредством веб-сервера было бы проще, однако с файлом как раз таки необходимо проделать несколько манипуляций (переименовать, обрезать и мб еще что то). Смею попросить Вас изложить поподробнее, что за совпадение произошло при проведении тестов? Я пробовал с разными файлами на разных серверах, результат везде такой какой мне нужен, а именно файл минует внутренний буфер, и все это время использовался именно curl (уж очень я его полюбил с самой первой встречи).
он сначала ЦЕЛИКОМ будет загружен вам на сервер и только потом начнёт отдаваться пользователю
Не совсем так - http://php.net/manual/ru/function.curl-setopt.php RETURNTRANSFER
P.S. да и вообще, если вы файлом не проделываете никаких манипуляций, можно просто сделать проксирование в Apache или nginx, смотря что у вас там стоит. так будет проще и менее накладно по ресурсам.
Можно пример проксирования на апаче?
Не совсем так - http://php.net/manual/ru/function.curl-setopt.php RETURNTRANSFER
Можно пример проксирования на апаче?
1 вариант: mod_proxy, mod_proxy_http. Директивы ProxyReverse, ProxyPass и т.д.
2 вариант: тривиальный прокси можно организовать с помощью rewrite (флаг [P])
видел на perl покусочного скачивания, обработки, отдачи да еще с индикаторами прогресса на клиенте.
проверка показала что на шаредном хостинге Netfirms фишка работает. Дело в perl, он просто круче! :)
Не совсем так - http://php.net/manual/ru/function.curl-setopt.php RETURNTRANSFER
Можно пример проксирования на апаче?
Флаг CURLOPT_RETURNTRANSFER влияет лишь на то, что контент будет возвращён в качестве результата вызова функции curl_exec() вместо вывода его на экран. На принцип работы это никак не влияет.
А про проксирование вам в принципе выше уже ответили.
Флаг CURLOPT_RETURNTRANSFER влияет лишь на то, что контент будет возвращён в качестве результата вызова функции curl_exec() вместо вывода его на экран. На принцип работы это никак не влияет.
Как раз на "принцип работы" и влияет. Он так и так возвращается результатом curl_exec, только в одном случае буферизируется, в другом отдается сразу.
нет, судя по описанию, всегда буфферизируется, но в первом случае
в память, и свопированием занимается система, а во втором
в памяти небольшие куски которые сбрасываются на диск по мере
поступления. Только вот callback на эти куски по готовности НЕТ,
а в perl ЕСТЬ.
(хотя какие-то хаки и доп софт для исправления ситуации все же есть для php)
Не знаю как по описанию, но практика показывает другое.
Пруф линк?
Как раз на "принцип работы" и влияет. Он так и так возвращается результатом curl_exec, только в одном случае буферизируется, в другом отдается сразу.
Откуда вы это взяли? При неустановленном CURLOPT_RETURNTRANSFER curl_exec() весь вывод выплёвывает на экран, а сама функция возвращает true либо false в зависимости от успеха/неудачи выполнения. При установленном CURLOPT_RETURNTRANSFER, функция ничего не выводит на экран, но возвращает своим результатом полученный контент.
Впрочем, чуть другими словами написано в официальной документации:
Про буферизацию там кстати ни слова не сказано. Но я проверял - чудес не бывает.