Получите тип пантомимы внешнего файла с помощью ЗАВИХРЕНИЯ и php

Я использовал mime_content_type() и информация о Файле, но я никогда successed., я хочу использовать теперь ЗАВИХРЕНИЕ с PHP и получить заголовки файла, который размещается на другом домене затем, не извлекаю и определяю, является ли типом MP3 или нет. (я думаю, что тип пантомимы MP3 audio/mpeg )

Кратко, я знаю что, но я не знаю, как применить его :)

Спасибо

21
задан Ryan 9 April 2010 в 20:44
поделиться

3 ответа

PHP 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

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

output

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
45
ответ дан 29 November 2019 в 06:28
поделиться

Вы можете использовать запрос HEAD через curl. Например:

$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 (strtok($line, ':') == 'Content-Type') {
                $parts = explode(":", $line);
                echo trim($parts[1]);
        }
}

Что возвращает: image / png

20
ответ дан 29 November 2019 в 06:28
поделиться

Если вас устраивает более элегантная версия Zend Framework, вот класс , который использует компонент Zend_Http_Client.

Используйте его так:

$sniffer = new Smartycode_Http_Mime(); 
$contentType = $sniffer->getMime($url);
2
ответ дан 29 November 2019 в 06:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: