CUrl - узнать размер файла до открытия

  • Автор темы Автор темы tolyan
  • Дата начала Дата начала

tolyan

Новичок
CUrl - узнать размер файла до открытия

Ситуация такая:
использую CUrl в скрипте для доставки файлов по почте. Используется тьма возможностей CUrl при открытии: выставление реферрера, открывание файла по частям, еще чего-то там.. Все это с целью преодолеть всяческие защиты от скачивания и прочее.
Не могу найти такую штуку:
как узнать размер файла до его открытия? Если файл большой, то он открывается в цикле частями до тех пор, пока цикл не доберется до конца файла. Если большой файл открывать целиком - то он просто не влазит в оперативную память, доступную процессу. Единственный способ, который я пока вижу - это открывать частями в цикле, и считать сколько раз открыл =) Но это вовсе не по людски, да и траф лишний мотаться будет.
curl_getinfo() возвращает дельную инфу только после curl_init() а до этого галимые нули.
filesize просто не может добраться до многих файлов, которые может открыть CUrl
 
tolyan
Дык полюбому память будет занята, ведь для отправки по почте нужно иметь в переменной весь файл.
 
C этим проблем нет - по частям открываем по частям отправляем.
Но как до процесса отправки узнать размер _ВСЕГО_файла? Чтобы не получить по почте вместо 7 метров 700, по незнанию.
А файлы размером в 100 метров скриптик отправляет на ура - проверено.
 
В общем случае - никак. Заголовок Content-Length в отклике сервера не является обязательным. В частном - при помощи HEAD-запроса. Как делать его в CURL и возможно ли вообще - смотри в документации.
 
Сверху