Как через php скачать файл и назвать его так как он был назван?

Есть урл domain.ru/?download=fdsadsdfafdsafd
по которому из браузера скачивается файл с названием text.bfd или text.acx - как мне узнать какое расширение у файла при скачивании и скачать со своим именем но с нужным расширением?
  • Вопрос задан
  • 54 просмотра
Пригласить эксперта
Ответы на вопрос 2
SagePtr
@SagePtr
Еда - это святое
Получать через curl и заголовки, и содержимое файла. Тут несколько примеров: https://stackoverflow.com/questions/9183178/can-ph...
Ответ написан
@alpeg
как мне узнать какое расширение у файла

Сервер отдаёт имя файла в заголовке Content-Disposition в полях filename и/или в filename*.
И тут есть два способа сохранить файл с этим именем и/или расширением из этого имени:
1) включить в curl CURLOPT_HEADER и вытащить заголовок вместе с содержимым за один запрос. Ссылку на то как это сделать уже дал SagePtr.
2) отправить сначала HEAD-запрос, в котором посмотреть заголовок ответа, а затем вторым запросом скачать файл.
В обоих случаях надо парсить заголовок ответа Content-Disposition
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
RecruitIT Москва
от 100 000 до 160 000 ₽
от 130 000 до 180 000 ₽
Сбер Москва
До 240 000 ₽
25 окт. 2020, в 11:50
3000 руб./за проект
25 окт. 2020, в 11:42
3000 руб./за проект
25 окт. 2020, в 10:25
6000 руб./за проект