Como subir arquivos ao servidor en PHP
HTML, PHP No Comments »Para poder enviar arquivos entre os datos que dende un formulario HTML se envían ao servidor web, compre facer algun cambio no formulario e ter en consideración varias cousas na parte PHP.
<form enctype="multipart/form-data" action="paxina2.php" method="post"> <input type="hidden" name="MAX_FILE_SIZE" value="50000" /> <input type="file" name="ficheiro" /> <input type="submit" value="Enviar arquivo" /> </form>
Na páxina escrita en PHP, os datos do arquivo NON están na matriz superglobal $_POST, senon na matriz $_FILES, nun elemento con índice igual ao atributo name do campo do formulario HTML onde se seleccionou o arquivo. Ese elemento en $_FILES é de novo un array que contén os seguintes elementos:
Cando o arquivo esté subido á carpeta temporal do servidor, e se fixeran as comprobacións de tipo de arquivo, tamaño, …, que se consideren oportunas, pódese mover a ubicación definitiva coa instrucción move_uploaded_file que verifica antes de copiar o arquivo ao seu destino definitivo que é un arquivo que foi subido. Tamén se pode empregar is_uploaded_file() para comprobar se o arquivo xa está subido á ubicación temporal.
move_uploaded_file($_FILES['ficheiro']['tmp_name'], "ruta_completa_destino_definitivo");
Máis información na axuda oficial: http://es.php.net/manual/es/features.file-upload.php