Как скачать файл прикрепленный к curl
Подскажите форумчане, не могу понять, гугл не помог
curl_exec возвращает результат, но если он очень большой скажем мегабайт, ничего не возвращает, но в заголовках это: filename=xxxxx&disposition=attachment но как его достать? массив count($_FILES) равен 0 устанавливал в curl CURLOPT_FILE параметр тоже не дает результат |
Цитата:
Это как? Скачать, значит ни о каком $_FILES речи быть не может. Все что получает cURL, находится тут = curl_exec($curl); |
сейчас перепроверил, действительно, заголовок он такой всегда и при маленьком файле
тогда получается что когда файл большой curl просто ничего не возвращает, хотя заголовки все равно возвращает, но тело пустое что за ограничение? можно как-то увеличить |
Цитата:
|
|
Цитата:
|
Как делать апач? (но у меня обычный хостинг)
зачем мне эти fopen fread, для получения файла целиком пишут использовать ее, да и проще у меня всего одна строка сейчас header("Content-type: image/jpeg"); echo file_get_contents($url); |
Цитата:
Цитата:
Но если все-таки насиловать серверный язык, то: 1) получать файл целиком - это читать его в память, что в данном случае совсем не требуется 2) при внушительных размерах файла чтение его в память, не только пагубно для памяти, но это еще и время, и столько же времени потребуется чтобы отдать его пользователю, то есть время операции "скачать" удваивается. Открывайте матчасть и прочтите о fopen fread, почитайте о том как отдают файлы пользователю скриптами, это будет лучшим ответом на вопрос зачем мне эти fopen fread, для получения файла целиком пишут использовать ее . |
ну про апач и .htaccess как нибудь почитаю, наверное полезно и интересно, хотя даже не читая имею сомнения, что апач и .htaccess поможет мне скачать файл из облака через api
laimas, "зачем мне эти fopen fread, для получения файла целиком пишут использовать ее" это написано в моей матчасти, наверняка у тебя другая то что нужно сразу вся память под файл, это я понял тебя, но это фотохост, внушительных файлов там нет почему если прочитать сразу и прочитать по кускам нужно в 2 раза меньше времени, к сожалению понять не смог |
Цитата:
Цитата:
Читайте, изучайте, но никогда не пишите код по принципу - "одна строка, значит хорошо". |
да читал про .htaccess, но давно, всего не помню
совершено не о чем, редиректы, запреты и тп даже близко нету того что надо |
Цитата:
|
Цитата:
.htaccess http://www.interface.ru/home.asp?artId=9456 а тут описано api яндекс диска https://tech.yandex.ru/disk/api/concepts/about-docpage/ как это совместить подскажи? |
Цитата:
|
потому что это api яндекс диска,
сначала нужно сделать запрос с токеном, получить прямую ссылку на файл, скачивать незачем, но .htaccess то при чем тут |
Цитата:
Ну даже так, вопрос остается открытым - зачем перекачивать файлы себе затем отдавая их клиенту?! Запросили облако по токену - ответ ссылка. Что мешает обычное перенаправление средствами РНР и браузер будет сам качать с облака? Цитата:
|
Много понятие относительное, конечно токен нужен, это же яндекс диск, скажи спасибо что такой api сделали, у других облак вообще никакого нету
Не нужно перекачивать, я уже это понял Нужно получить токен из базы на моем сервере, сделать запрос к яндекс диску и получить ответ и еще кучу всего, .htaccess примитивен в этом плане, все что он может перенаправить, это вообще ничто |
<? if(isset($_GET['im'])) { header('location: http://javascript.ru/forum/images/ca_serenity/misc/logo.gif'); exit; } ?> <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body> <img src="?im" /> </body> </html> где РНР код может быть отдельным сценарием, на который производит перенаправление .htaccess. Если для API нужен только токен, то и РНР сценария не требуется, все можно сделать в рамках .htaccess. У вас слабые представления о его возможностях. |
понятно, но возможности .htaccess я знаю и использовал без подсказок
да он может перенаправить .jpg на .php и что с того я ошибся, что мой сценарий php выкачивал файл с облака и вставлял в <img src="" /> base64 данные а надо просто вставить ссылку поэтому .htaccess тут не при чем вот к примеру если бы облако не отдавало ссылку, а только сам файл, помог бы .htaccess? получается нет и файл все равно прищлось бы скачать, так что возможности .htaccess тут не при чем, у него тут роль второстепенная, как наверное в любом сайте, возможностей мало там, с гулькин нос) |
Цитата:
htaccess можно также указать отдать содержимое файла - download, это к тому, что он не туп занимаясь простыми перебросами. Вообще Апач как htttp-сервер не так и глуп как вам кажется. Да еще смотря какой сервер. Вот почитайте, может когда и сгодится. |
там описывается не htaccess, а какой то модуль, который нужно установить, я навряд ли буду читать, так как писал сервера у меня нет, устанавливать и настраивать ничего не могу
а если чисто возможности htaccess, но зачем перенаправлять N раз, токены хранятся в базе mysql на моем сайте, и сделать запрос к облаку яндекс, запрос должен быть по правилам, токен должен быть в заголовке, никак не в url, так что одними перенаправлениями тут не обойтись |
Там описывается модуль сервера nginx. Сервер nginx зачастую используют в связке Apache + nginx, а в высоко нагруженных проектах обязательно.
Арендуя виртуальный хост, вы и не имеете возможности чего либо устанавливать, но делать заявку в службу поддержки на нужную вам конфигурацию сервера вам никто не запрещает. Ссылка дана сугубо для ознакомления возможностей сервера, который может снижать нагрузку на интерпретатор. Перенаправление N раз к тому, что это не есть суть, последний адрес будет рабочим. Заголовки как раз отправляет сервер, то есть передать заголовок посредством htaccess, это для него обычная рутина. Если речь не о токене, а куче токенов, ну значит не повезло вам, а я не настаиваю делать так как я сказал. Но занимаясь разработкой всегда помните о том, что сервер (его инструмент htaccess) служит далеко не для банального ЧПУ. |
я интересуюсь javascript и php, про серверы ничего не знаю, жаль конечно, но чтобы что-то понять нужен свой сервер, общаться со службой поддержки маловато будет, можно конечно замутить сервер дома и дрючить его, но тут уже нужна хоть какая-то причина, у меня ее нет, сайтик работает и так, тут наверное главней чтобы облако не висло и отвечало хорошо, это уже от меня не зависит
тут не повезло, токенов не один, но они нужны для загрузки файла а чтобы скачать файл с облака нужен public_key, их вообще на каждый файл свой, хотя оказывается public_key можно передать в url, но он слишком длинный и ссылка на мой сайт получится некрасивая, да и public_key это секрет в данном случае, к тому же еще облако дает json обьект, где ссылка это свойство обьекта, хотя может ты напишешь что сервер и с этим справится, блин я тогда вообще не понимаю зачем php придумали |
Цитата:
Ну коли ключей много и сложности, тогда интерпретатор, но не качать через себя, а если качать, то себе, чтобы потом не тревожить облако. |
Часовой пояс GMT +3, время: 07:20. |