Tag Archive for servidor

Como subir archivos a servidor con PHP

Subir archivos a un servidor web no es nada del otro mundo, de hecho es algo muy sencillo de hacer, y podemos hacerlo utilizando una sencilla forma de HTML y un programa en PHP que guarde el archivo en donde nosotros queramos.

Lo primero que necesitaremos sera el archivo html donde tendremos la forma de subida.

El siguiente codigo representa esta forma. Lo que se tiene que hacer es crear una forma, establecer el parametro de “action” donde especificaremos el script php que guardara nuestro archivo, también el parametro “method” en el cual he seleccionado post, y “enctype”, que basicamente especifica que tipo de datos vamos a subir, esto es necesario.

Forma de subida en html

<!DOCTYPE html>
<html>
	<head>
	</head>
	<body>
		<form action="file.php" method="post" enctype="multipart/form-data">
			<input type="file" name="archivo" id="archivo"></input>
			<input type="submit" value="Subir archivo"></input>
		</form>
	</body>
</html>

 

Recuerden especificar el “name” del archivo, el cual es necesario para poder encontrar el archivo en nuestro script PHP.

Del lado del servidor…

Ahora vamos con el PHP, es la parte mas importante ya que desde aqui accederemos a nuestro archivo y seremos capaces de ver sus propiedades, asi como de guardarlo en una ruta especifica. Para esto tenemos el arreglo bidimensional “$_FILES” donde se puede acceder al archivo y sus propiedades (como ‘error’, ‘name’,’tmp_name’).

Archivo PHP para controlar la subida del archivo

if ($_FILES['archivo']["error"] > 0)
  {
  echo "Error: " . $_FILES['archivo']['error'] . "<br>";
  }
else
  {
  echo "Nombre: " . $_FILES['archivo']['name'] . "<br>";
  echo "Tipo: " . $_FILES['archivo']['type'] . "<br>";
  echo "Tamaño: " . ($_FILES["archivo"]["size"] / 1024) . " kB<br>";
  echo "Carpeta temporal: " . $_FILES['archivo']['tmp_name'];

  /*ahora co la funcion move_uploaded_file lo guardaremos en el destino que queramos*/
   move_uploaded_file($_FILES['archivo']['tmp_name'],
      "subidas/" . $_FILES['archivo']['name']); 

A continuación un pequeño video tutorial de como hacer este ejercicio