verificar validate validar type from php curl mime-types

validate - Obtener mime tipo de archivo externo usando cURL y php



validate mime type php (3)

He usado mime_content_type() y la información del archivo, pero nunca he tenido éxito. Quiero usar ahora cURL con PHP y obtener los encabezados del archivo que está alojado en otro dominio, luego extraer y determinar si el tipo es MP3 o no. (Creo que el tipo mime de MP3 es audio/mpeg )

Brevemente, lo sé, pero no sé cómo aplicarlo :)

Gracias


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 ?>

rizo

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

salida

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


Puede utilizar una solicitud HEAD a través de curl. Me gusta:

$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]); } }

Lo que devuelve: imagen / png


Si está de acuerdo con una versión de Zend Framework más elegante, aquí hay una clase que utiliza el componente Zend_Http_Client.

Úsalo así:

$sniffer = new Smartycode_Http_Mime(); $contentType = $sniffer->getMime($url);