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

Есть урл domain.ru/?download=fdsadsdfafdsafd
по которому из браузера скачивается файл с названием text.bfd или text.acx - как мне узнать какое расширение у файла при скачивании и скачать со своим именем но с нужным расширением?
  • Вопрос задан
  • 128 просмотров
Пригласить эксперта
Ответы на вопрос 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
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы