Subir ficheros con PHP

por

Vamos a ver cómo podemos posibilitar que nuestro usuarios suban ficheros a nuestro servidor.

Muchas veces, al navegar por las webs, nos encontramos que ,en ocasiones, nos permiten subir imágenes o ficheros a nuestras cuentas o directamente al servidor de la web. Para realizar esta operación se utiliza un elemento HTML "input" de tipo "file" para mostrar el elemento que nos permite navegar por el sistema de ficheros de nuestro ordenador y elegir el fichero que queremos subir.

Hasta aquí todo bien, pero a parte de esto, es necesario enviar el fichero a nuestro servidor. Para realizarlo vamos a servirnos de PHP para guardar ese fichero en una carpeta concreta de nuestro servidor.

Empezaremos creando un pequeño código HTML con el elemento "input" que nos permite seleccionar el fiche que queremos subir.


<head></head>

<body>

<form action="archivo.php" method='post' enctype='multipart/form-data' >
<input name='foto_new' type='file' title='Ruta' />

<input type="submit" name="enviar" value="enviar" />

</form>

</body>

Como vemos es una simple tag "input" de tipo "file". Es muy importante selecciona el "name" para luego utilizarlo un poco más adelante.

A continuación, creamos un pequeño código PHP para posibilitar la subida al servidor. Debemos decir que el fichero se guardará en una carpeta llamada "fotos" situada en la misma ruta que el fichero PHP que realiza la operación.


<?php

if($_FILES["foto_new"]['name']!=NULL){
if(is_uploaded_file($_FILES["foto_new"]['tmp_name'])) {
if(move_uploaded_file($_FILES["foto_new"]['tmp_name'], 
"./fotos/".$_FILES["foto_new"]['name']."")) {

echo "Fichero subido correctamente";

}
}
}					

?>

A través de la variable PHP "$_FILES" obetenemos todos los datos del fichero o ficheros que subimos, realizamos una serie de comprobaciones para saber que toda la operación de subida se ha hecho correctamente y finalmente guardamos el fichero en la carpeta "fotos".

Por lo general, el fichero se suele guardar en el servidor, y para poder acceder a él desde la web se guarda la ruta en la que se ha guardado en la Base de datos para poder acceder a él. No es nada recomendable guardar el fichero directamente en la Base de datos ya que la sobrecargamos.

Normalmente, estas implementaciones se utilizan para posibilitar a los usuarios subir imágenes de su perfil por ejemplo, aunque se pueden utilizar para todo lo que uno quiera.

COMENTARIOS

DEJA TU COMENTARIO