validar type tipo quitar para extension content configurar aspx archivo application php amazon-web-services mime-types content-type cdn

php - type - tipo mime para aspx



Encuentra el tipo de archivo Mime o url usando php para todos los formatos de archivo (4)

Utilice file_info en PHP con el indicador FILEINFO_MIME_TYPE como parámetro.

[Ejemplo tomado como es del Manual de PHP]

<?php $finfo = finfo_open(FILEINFO_MIME_TYPE); // return mime type ala mimetype extension foreach (glob("*") as $filename) { echo finfo_file($finfo, $filename) . "/n"; } finfo_close($finfo); ?>

OUTPUT :

text/html image/gif application/vnd.ms-excel

EDIT :

Debes habilitar la extensión en tu PHP.ini

;extension=php_fileinfo.dll

Elimine el punto y coma de esa línea y reinicie su servidor web y listo.
Installation Doc.

Hola, estoy buscando la mejor manera de averiguar el tipo de mime en php para cualquier archivo local o url. He intentado la función mime_content_type de php pero, como está en desuso, estoy buscando una mejor solución en php para todos los formatos de archivo.

mime_content_type — Detect MIME Content-type for a file ***(deprecated)***

Ya he probado a continuación la función

echo ''welcome''; if (function_exists(''finfo_open'')) { echo ''testing''; $finfo = finfo_open(FILEINFO_MIME); $mimetype = finfo_file($finfo, "http://4images.in/wp-content/uploads/2013/12/Siberian-Tiger-Running-Through-Snow-Tom-Brakefield-Getty-Images-200353826-001.jpg"); finfo_close($finfo); echo $mimetype; }

El código anterior no funciona para mí, solo welcome para la salida. No estoy seguro de si estoy haciendo algo mal aquí.

El código siguiente funciona de alguna manera en mi local, pero no funciona para las URL.

$file = ''./apache_pb2.png''; $file_info = new finfo(FILEINFO_MIME); // object oriented approach! $mime_type = $file_info->buffer(file_get_contents($file)); // e.g. gives "image/jpeg" $mime = explode('';'', $mime_type); print $mime[0];

¿Hay algún trabajo en torno al cual trabajar para ambos (url y local)? ¿Cuál es la mejor práctica para establecer el tipo de mime para todos los contenidos (imagen, video, archivo, etc.) que no sea la función mime_content_type en php? También se recomienda utilizar el función mime_content_type en php, ¿es la mejor práctica en php?


$type = image_type_to_mime_type(exif_imagetype($file));


Después de probar todas estas soluciones anteriores, eso es lo que uso:

$command = "file -i {$filename}";

$mimeTypeArr = shell_exec($command);

Este comando devuelve la línea siguiente:

filename: mime_type

Después de tener esto, exploto y obtengo lo que necesito.

$mimeTypeArr = shell_exec($command);

$mimeTypeArr = explode('':'', $mimeTypeArr);

$mimeType = trim($mimeTypeArr[1]);

¡Espero eso ayude!


Encontré la respuesta,

Para encontrar la extensión del archivo de la mejor manera, use path_info para los archivos locales y la url.

$info = pathinfo($filename); $basename = $info[''basename'']; $ext = $info[''extension''];

crear una matriz para el tipo de mimo

$mimeTypes = array("mp4" => "video/mp4");// -> Vea el Ejemplo aquí y aquí

//get the mime type for file $type = isset($this->mime_types[$ext]) ? $this->mime_types[$ext] : "application/octet-stream";

El código anterior funciona tanto para archivos url como locales.

Nota :

Aquellos que luchan con CDN mp4 video mime tipo video / mp4 issue - He hecho un cambio en mi archivo class.s3.php -> en mime_type [] array y también he verificado con la función putObject ().

La configuración del tipo MIME se realiza siempre en el lado de codificación y no en AWS S3. Necesitamos utilizar AWS PHP Class file or sdk para realizar la manipulación en tipo MIME o realizar los cambios necesarios en el archivo de la clase principal (por ejemplo, class.s3. php)