Subir Archivos con PHP

Para subir archivos a un servidor, lo único que debemos hacer es poner en un formulario un campo de archivo como los siguientes: 

<form action=”” method=”post” enctype=”multipart/form-data”>

<input type=”file” name=”file” />

<input type=”submit” name=”submit” value=”Subir imagen” />

</form>

Al enviar el formulario, el navegador envía automaticamente el archivo del campo a la carpeta temporal del servidor, pero el problema es una vez en esta carpeta cómo moverlo a la carpeta que se nos antoje.

Y aquí es donde entra en acción PHP y la función move_uploaded_file que moverá el archivo subido de la carpeta temporal a la carpeta que nosotros le digamos e incluso con el nombre que le pongamos.

<?

$destino = ‘uploaded’ ;

move_uploaded_file ( $_FILES [ ‘file’ ][ ‘tmp_name’ ], $destino . ‘/’ . $_FILES [ ‘file’ ][ ‘name’ ]);

?>

Donde $_FILES[‘file’][‘tmp_name’] identificara el archivo temporal subido al servidor, $destino, la carpeta en la que lo queremos mover y $_FILES[‘file’][‘name’] el nombre original del archivo.

Además también podemos conocer otros parámetros del fichero subido como por ejemplo el tamaño, vamos a ver un ejemplo:

<?

$destino = ‘uploaded’ ;

// Leemos el tamaño del fichero

$tamano = $_FILES [ ‘file’ ][ ‘size’ ];

// Comprovamos el tamaño

if( $tamano < 500 ){

move_uploaded_file ( $_FILES [ ‘file’ ][ ‘tmp_name’ ], $destino . ‘/’ . $_FILES [ ‘file’ ][ ‘name’ ]);

}

else echo “El tamaño es superior al permitido” ;

?>

Tambien podemos saber el tipo de archivo subido con la siguiente variable: $_FILES[‘file’][‘type’];

Nota: Para versiones anteriores a la 4.0.1 de PHP, en lugar del vector $_FILES, debemos usar $HTTP_POST_FILES.

 

Leave A Comment?