Pregunta sobre php......

Estado
Cerrado para nuevas respuestas.

javierec

Lanero Regular
17 May 2003
41
Tengo un problemita......

La idea es subir un archivo en la web por medio de un formulario ... esa es la parte facil..
se puede verificar la extension facilmente... pero nadie me asegura que el archivo sea del tipo que la dice la extension.... (ejemplo: yo necesito solo que me envien archivos tipo txt pero alguien me envia un mp3 y puede suceder ya que renombraria el archivo.mp3 a archivo.txt) por ahi me dijo un amigo que existe una manera de verificarlo pero que no se acuerda..... alguien sabe como ayudarme con este problemita?
 

JulianD

Lanero Reconocido
13 Abr 2001
9,557
Es bastante fácil, gracias al PHP.

Cuando subes un archivo, se crea un array llamado $_FILES ahi se contiene la información del archivo que se subió al servidor.

Acabo de hacer un ejemplo y mirá mis resultados (lo siguiente es el contenido del array $_FILES después de subir el archivo):

Código:
    Array
(
    [file] => Array
        (
            [name] => O Town - Love Potion Number 9.mp3
            [type] => audio/mpeg
            [tmp_name] => C:\WINDOWS\php18.tmp
            [error] => 0
            [size] => 375223
        )

)

Ahora mirá con un archivo de texto

Código:
    Array
(
    [file] => Array
        (
            [name] => portal.txt
            [type] => text/plain
            [tmp_name] => C:\WINDOWS\php19.tmp
            [error] => 0
            [size] => 4930
        )

)

En el peor de los casos $_FILE['type'] no tendría contenido, o aparecería unknown, pero si lo que buscas es sabes si es texto plano, entonces esa variable contendrá text/plain.
 

JulianD

Lanero Reconocido
13 Abr 2001
9,557
Ummm De todas maneras en mi opinión, no es suficiente "seguridad" para saber si realmente es un archivo de texto como el que buscas... De todas maneras ojalá te sirva.
 

javierec

Lanero Regular
17 May 2003
41
Estoy de acuerdo no es suficiente seguridad .....

Yo en vez de utilizar $_FILES utilizo $HTTP_POST_FILES pero el tipo de archivo que se guarda en esa variable no es garantia que verdad lo sea, simplemente con renombrar un archivo mp3 a txt, la variable dice que es text/plain lo cual en realidad es falso.

Sin embargo gracias por ponerle atencion al mensaje.
 
Estado
Cerrado para nuevas respuestas.