(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)
is_uploaded_file — Indica si el archivo fue subido mediante HTTP POST
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.
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'] . "'.";
}
?>