使用 cURL 和 php 获取外部文件的哑剧类型

2022-08-30 17:25:53

我已经使用和文件信息,但我从未成功。我想现在使用CURL与PHP,并获取托管在另一个域上的文件的标头,然后提取并确定类型是否为MP3。mime_content_type()audio/mpeg )

简而言之,我知道这一点,但我不知道如何应用它:)

谢谢


答案 1

菲律宾比索 curl_getinfo()

<?php
  # the request
  $ch = curl_init('http://www.google.com');
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_exec($ch);

  # get the content type
  echo curl_getinfo($ch, CURLINFO_CONTENT_TYPE);

  # output
  text/html; charset=ISO-8859-1
?>

卷曲

curl -I http://www.google.com

输出

HTTP/1.1 301 Moved Permanently
Location: http://www.google.com/
Content-Type: text/html; charset=UTF-8
Date: Fri, 09 Apr 2010 20:35:12 GMT
Expires: Sun, 09 May 2010 20:35:12 GMT
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 219

答案 2

您可以通过 curl 使用 HEAD 请求。喜欢:

$ch = curl_init();
$url = 'http://sstatic.net/so/img/logo.png';
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_NOBODY, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$results = explode("\n", trim(curl_exec($ch)));
foreach($results as $line) {
    if (strtolower(strtok($line, ':')) == 'content-type') {
        $parts = explode(":", $line);
        echo trim($parts[1]);
    }
}

返回:图像/png


推荐