is_uploaded_file

(PHP 4 >= 4.0.3, PHP 5, PHP 7)

is_uploaded_fileIndica si el archivo fue subido mediante HTTP POST

Descripción

is_uploaded_file ( string $filename ) : bool

Devuelve TRUE si el archivo nombrado por filename fue subido mediante HTTP POST. Esto es útil para intentar asegurarse de que un usuario malicioso no ha intentado engañar al script haciéndole trabajar con archivos con los que no debiera de estar trabajando--por ejemplo, /etc/passwd.

Este tipo de comprobación es especialmente importante si hay alguna posibilidad de que nada hecho con los archivos subidos pueda revelar su contenido al usuario, o incluso a otros usuarios en el mismo sistema.

Para un funcionamiento apropiado, la función is_uploaded_file() necesita un argumento como $_FILES['archivo_usuario']['tmp_name'], - el nombre del archivo subido de la máquina del cliente $_FILES['archivo_usuario']['name'] no funciona.

Parámetros

filename

El nombre de archivo que se va a comprobar.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de is_uploaded_file()

<?php

if (is_uploaded_file($_FILES['archivo_usuario']['tmp_name'])) {
   echo 
"Archivo "$_FILES['archivo_usuario']['name'] ." subido con éxtio.\n";
   echo 
"Monstrar contenido\n";
   
readfile($_FILES['archivo_usuario']['tmp_name']);
} else {
   echo 
"Posible ataque del archivo subido: ";
   echo 
"nombre del archivo '"$_FILES['archivo_usuario']['tmp_name'] . "'.";
}

?>

Ver también