Tupale

Subir un archivo a un servidor con PHP

Este es un simple tip para poder subir un archivo a un servidor por medio de un formulario usando PHP ya que algunos tienen problemas con ello y buscan librerías interminables de código o scripts gigantes para hacerlo.

Comencemos por el formulario que debe tener ciertas características, una de las mas importantes es el multipart/form-data que especifica que enviaremos datos de archivo, y obviamente nuestro campo tipo file.

<form action=”” method=”post” enctype=”multipart/form-data” name=”upload” id=”upload”>  <input type=”file” name=”archivo” id=”archivo” />  <input type=”submit” name=”button” id=”button” value=”Enviar” /></form>

De esta manera enviaremos los datos al servidor sin embargo PHP los colocara en una carpeta temporal donde se perderán si no ejecutamos alguna acción con ellos, así que en este caso usaremos la función move_uploaded_file () lo que movera el archivo que hayamos subido a la ubicación que queramos.

$destino = ‘contenido’;
$extencion = strtolower(strrchr($_FILES [ ‘archivo’ ][ ‘name’ ], ‘.’));
move_uploaded_file ( $_FILES [ ‘archivo’ ][ ‘tmp_name’ ], $destino . ‘/nombre_archivo’.$extencion.”);  $archivo = “nombre_archivo”.$extencion.””;
Bien ahora la explicación, lo primero que definimos es el destino, es decir la carpeta en la que guardaremos el archivo dentro de la variable $destino, en mi caso la carpeta se llama contenido, recuerden que esta carpeta debe existir y debe tener permisos de escritura (CHMOD 777).

En la siguiente linea almacenamos la extencion del archivo en la variable $extencion y la pasamos a minúsculas para evitar problemas de rutas.
Luego usamos la funcion move_upload_file() para mover el archivo a la carpeta $destino y le asignamos un nombre (nombre_archivo) con su respectiva $extencion.
Por ultimo almacene el nombre del archivo completo, con la extencion en la variable $archivo para que pueda ser usada después.

Bien eso es todo pero recuerden que con el uso de condicionales if pueden determinar el tipo de archivo que se va a permitir subir, esto para evitar que en un formulario donde deba cargarse una imagen suban un archivo .exe

Deja un comentario

A %d blogueros les gusta esto: