使用 php 我如何能够将变量$type
定义为 http://www.example.com 的content-type
例如:$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'];
?>