Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Как скачать файл прикрепленный к curl (https://javascript.ru/forum/server/64113-kak-skachat-fajjl-prikreplennyjj-k-curl.html)

psiklop 20.07.2016 14:48

Как скачать файл прикрепленный к curl
 
Подскажите форумчане, не могу понять, гугл не помог
curl_exec возвращает результат, но если он очень большой скажем мегабайт, ничего не возвращает, но в заголовках это:

filename=xxxxx&disposition=attachment

но как его достать? массив count($_FILES) равен 0
устанавливал в curl CURLOPT_FILE параметр тоже не дает результат

laimas 20.07.2016 15:57

Цитата:

Сообщение от psiklop
файл прикрепленный к curl


Это как?

Скачать, значит ни о каком $_FILES речи быть не может. Все что получает cURL, находится тут = curl_exec($curl);

psiklop 20.07.2016 17:35

сейчас перепроверил, действительно, заголовок он такой всегда и при маленьком файле

тогда получается что когда файл большой curl просто ничего не возвращает, хотя заголовки все равно возвращает, но тело пустое

что за ограничение? можно как-то увеличить

laimas 21.07.2016 02:28

Цитата:

Сообщение от psiklop
что за ограничение?

Смотрите опции. И вообще, это все продолжение издевательства на картинками с другого сервера? Зачем?

psiklop 21.07.2016 02:37

ладно фиг с ним curl, есть file_get_contents
заняться не чем, просто сделал и все
http://acepic.ru/

laimas 21.07.2016 12:58

Цитата:

Сообщение от psiklop
есть file_get_contents

Есть Апач, если речь о картинках с другого ресурса. Если "перекачивать" через себя, то все таки fopen + fread.

psiklop 21.07.2016 23:06

Как делать апач? (но у меня обычный хостинг)
зачем мне эти fopen fread, для получения файла целиком пишут использовать ее, да и проще
у меня всего одна строка сейчас
header("Content-type: image/jpeg");
echo file_get_contents($url);

laimas 21.07.2016 23:46

Цитата:

Сообщение от psiklop
Как делать апач? (но у меня обычный хостинг)

Без HTTP-сервера, а это и есть Apache или nginx, или иного, хоста вообще не будет.

Цитата:

Сообщение от psiklop
у меня всего одна строка сейчас
header("Content-type: image/jpeg");
echo file_get_contents($url);

Читайте о возможностях .htaccess, который как раз и обеспечивает Апач.

Но если все-таки насиловать серверный язык, то:

1) получать файл целиком - это читать его в память, что в данном случае совсем не требуется

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

Открывайте матчасть и прочтите о fopen fread, почитайте о том как отдают файлы пользователю скриптами, это будет лучшим ответом на вопрос зачем мне эти fopen fread, для получения файла целиком пишут использовать ее .

psiklop 22.07.2016 00:04

ну про апач и .htaccess как нибудь почитаю, наверное полезно и интересно, хотя даже не читая имею сомнения, что апач и .htaccess поможет мне скачать файл из облака через api

laimas, "зачем мне эти fopen fread, для получения файла целиком пишут использовать ее" это написано в моей матчасти, наверняка у тебя другая

то что нужно сразу вся память под файл, это я понял тебя, но это фотохост, внушительных файлов там нет

почему если прочитать сразу и прочитать по кускам нужно в 2 раза меньше времени, к сожалению понять не смог

laimas 22.07.2016 00:09

Цитата:

Сообщение от psiklop
хотя даже не читая имею сомнения, что апач и .htaccess поможет мне скачать файл

Чтобы не было сомнений нужно изучать. Ищите, есть статьи и по этим вопроса, например на Хабре.

Цитата:

Сообщение от psiklop
нужно в 2 раза меньше времени

К сожалению не меньше, а больше.

Читайте, изучайте, но никогда не пишите код по принципу - "одна строка, значит хорошо".


Часовой пояс GMT +3, время: 16:50.