Sergio Álvarez (xergio)

Escrito 294

Gentoo, PHP5 y mime_content_type()

Esto es para recordarlo cuando en un futuro me vuelva a pasar.

Quería usar la función mime_content_type() en PHP5, la cual me da el MIME Type de un archivo (vamos, el tipo de archivo que es según el contenido). Pero resulta que en Gentoo está desabilitada. No se compila esta opción, así que imposible usarla.

En los foros de Gentoo dan la solución, es simple:

# emerge dev-php5/pecl-fileinfo

Puesto que este paquete está enmascarado para ~x86, lo desenmascaré antes:

# echo "dev-php5/pecl-fileinfo ~x86" >> /etc/portage/package.keywords

Entonces ahora hay que usar la extensión PECL fileinfo, un coñazo... ahora se utiliza así:

<?php
$fi = new finfo(FILEINFO_MIME);
$mime_type = $fi->buffer(file_get_contents("/un/archivo/cualquiera"));
?>

Rec!

3 comentarios

vane comentó:

  • #1
  • 6-2/19:47
O_____________O diooooooos!!!! que horror!!! que very bad!!! que mal,que mal!!!

menos mal que a mi no me dio la neura de estudiar informatica XDD

Malversan comentó:

  • #2
  • 16-2/13:38
En Suse me he encontrado lo mismo. PHP 5.2 considera la función "mime_content_type()" como "deprecated" y por defecto no viene habilitada. Por lo menos en Gentoo tienes la opción de recompilar PHP con la opción "--with-mime-magic" , pero en sistemas que no permiten recompilar sin salirse del repositorio es un verdadero problema.

La única solución es utilizar la extensión PECL FileInfo, como has leído en los foros.

Pero no necesitas cargar el contenido del fichero sólo para averiguar el tipo de fichero usando FileInfo. Eso es un despilfarro de memoria en caso de ficheros grandes. Hay un modo más sencillo, pero a fecha de hoy no lo encontrarás en la documentación de PHP, porque es lo más indocumentado del mundo y además está desactualizada.

Tienes un ejemplo aquí: http://www.jellyandcustard.com/2006/01/19/php-mime-types-and-fileinfo/

Y sí. Era MUCHÍSIMO más cómodo usar "mime_content_type()". Pero de calle, vamos.

 Jabber status xergio comentó:

[Avatar]
  • #3
  • 16-2/13:54
He actualizado el post al formato nuevo, no salía la mitad del texto.

A parte, si hubieras leido mi texto.. habrías visto que esa url ya la había puesto yo :)

Deja un comentario

Pulsa en los títulos para ver información sobre cómo comentar.

Autocompletado de nicks

Todos los campos del formulario son opcionales menos el del PIN.

Usa el tabulador para autocompletar los nicks de otros comentaristas.

Si escribes @ y pulsas la tecla tabulador varias veces podrás recorrer la lista de nicks usados

Y si escribes # (almoadilla) y número (Ej.: #5) se substituirá directamente el nick del comentario correspondienmte al pulsar el tabulador.

Tags HTML permitidos

Tags: a, strong, b, em, u, code, cite.

El tag a admite la propiedad href="..." para indicar la dirección.

Los tags también tienen autocompletado (al igual que los nicks). Para usarlos se pone por ejemplo strong + TABULADOR.

Formulario para comentar

Cargando...

Todo el contenido bajo el dominio XERGIO.NET está sujeto a la licencia Creative Commons con las condiciones BY-SA. Web estandarizada en XHTML 1.0, CSS 2, RSS 2 y Atom 1.0.