(PHP 4 >= 4.0.3, PHP 5, PHP 7)
is_uploaded_file — Indica si el archivo fue subido mediante HTTP POST
$filename
)
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.
filename
El nombre de archivo que se va a comprobar.
Devuelve TRUE
en caso de éxito o FALSE
en caso de error.
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'] . "'.";
}
?>