Есть ссылка типа https://site.com/docs/2342
. По этой ссылке лежит файл с неизвестным расширением (.doc, .rar, .xls или какое-нибудь другое).
Скачиваю его следующим образом
file_put_contents("documents/doc1", file_get_contents("https://site.com/docs/2342"));
В итоге я получаю в папке documents
файл с названием doc1
.
Каким образом я могу узнать расширение скачиваемого файла, чтобы правильно его сохранить?
Вы можете попробовать найти нужную информацию в заголовках ответа:
$content = file_get_contents("https://site.com/docs/2342");
var_dump($http_response_header);
Также можно воспользоваться функцией finfo_buffer
$content = file_get_contents("https://site.com/docs/2342");
$finfo = new finfo(FILEINFO_MIME_TYPE);
$type = $finfo->buffer($content);
Вы получите mime-тип (навроде application/xml; charset=utf-8
).
Далее, манипулируя строкой либо по словарю известных вашему приложению mime-типов получаете расширение для сохранения.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
не могу разобраться со скачиванием файловНужен скрипт для последовательного скачивания 2х файлов
Подключил на страницу несколько суперплагинов:
Нужно, чтобы при клике на checkbox добавлялся класс checkbox_active, при этом, если я кликну следующий checkbox нужно чтобы с предыдущего не удалился класс,...