Получить Content-Type запрошенного URL-адреса в php

Использование php, как бы я мог определить переменную $type в $type content-type http://www.example.com

Например: $type определенный как "text/html"

Пока это то, с чем я работаю:

 <?php $url = 'http://www.example.com'; print_r(get_headers($url)); print_r(get_headers($url, 1)); ?> 

Код может быть изменен как можно больше

Ты пробовал:

 $type = get_headers($url, 1)["Content-Type"]; 

Как отмечено в комментариях @Michael, этот синтаксис не будет работать без очень текущей версии PHP.

Вы также пробовали:

 $headers = get_headers($url, 1); $type = $headers["Content-Type"]; 

?

Иногда get_header возвращает неверные значения, потому что он читает заголовки HTTP, но не файл. Лучше использовать finfo:

 $finfo = new finfo(FILEINFO_MIME_TYPE); $type = $finfo->buffer(file_get_contents($link)); 

Не совсем понятно, что вы пытаетесь сделать, но если вы пытаетесь получить тип контента запроса, который был отправлен браузером на ваш скрипт, вы можете сделать это:

 <?php // Collect all headers $headers = []; foreach(getallheaders() as $name => $header){ $headers[strtolower($name)] = $header; } // Get the content type header $contentType = $headers['content-type']; ?>