Para subir un archivo necesitamos primero indicar en el formulario el typo de datos (multipart/form-data) y, opcionalmente, el máximo tamaño:
<!-- El tipo de codificación de datos, enctype, DEBE especificarse como sigue --> <form enctype="multipart/form-data" action="__URL__" method="POST"> <!-- MAX_FILE_SIZE debe preceder al campo de entrada del fichero --> <input type="hidden" name="MAX_FILE_SIZE" value="30000" /> <!-- El nombre del elemento de entrada determina el nombre en el array $_FILES --> Enviar este fichero: <input name="fichero_usuario" type="file" /> <input type="submit" value="Enviar fichero" /> </form>
Después, en el PHP, debemos recoger el archivo y moverlo a su ubicación definitiva:
$dir_subida = '/var/www/uploads/'; $fichero_subido = $dir_subida . basename($_FILES['fichero_usuario']['name']); if (move_uploaded_file($_FILES['fichero_usuario']['tmp_name'], $fichero_subido)) { echo "El fichero es válido y se subió con éxito.\n"; } else { echo "¡Posible ataque de subida de ficheros!\n"; }