#php #mime-types #content-type #file-type #media-type
#php #mime-типы #content-type #тип файла #тип носителя
Вопрос:
Итак, я собираюсь перенести файл с удаленного сервера на свой сервер, но перед его передачей я хочу знать, что это за файл. Если это HTML-файл, я буду обращаться с ним определенным образом, если это PDF-файл, я буду обращаться с ним по-другому, а если, например, это exe-файл, я вообще не хочу его передавать.
Все, что мне нужно, это URL-адрес. Теперь, если этот URL-адрес является явным (т.е. http://example.com/file.pdf ) это не проблема, я могу просто проверить расширение файла, и мы разобрались. Однако мне может быть предоставлен только такой URL, как http://example.com и это может быть что угодно.
Можно ли проверить (с помощью PHP), какой это тип файла, прежде чем я его загружу?
Редактировать: я буду использовать cURL для передачи файла, но я считаю, что curl_getinfo может быть вызван только после передачи файла?
Ответ №1:
Попробуйте использовать функцию PHP get_headers, например:
$h = get_headers("http://google.com", $format = 1);
$content_type = $h["Content-Type"];
// and now parse what you want from array
Ответ №2:
Используя дескриптор fopen, вы можете затем вызвать stream_get_meta_data() для него.