Como subir imagenes o fotos al servidor con PHP

Saludos, en el siguiente post les muestro como subir imagenes o fotos al servidor con PHP y mostrar la información del archivo subido. La imagen es almacenada en un directorio temporero (tmp_name) el cual se crea y se elimina automáticamente para verificar que todo este bien antes subir la imagen por completo, luego si todo esta bien la función move_uploaded_file() mueve la imagen al directorio original, en este caso el directorio img.

Código HTML para el formulario:



<form action='upload_file.php' method='post' enctype='multipart/form-data'>

 <label for='file'>Seleccione su foto:</label>

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

 <input type='submit' name='submit' value='Submit' />

 </form>


Tienes que usar el atributo  enctype='multipart/form-data'  para que el envio de la imagen funcione.

Código PHP:

El código PHP comienza verificando si el tamaño y formato de la imagen seleccionada es el correcto y el permitido. Si el usuario selecciona una extensión de archivo diferente a las permitidas y/o selecciona un archivo mas grande de lo permitido se mostrara un mensaje de error diciendo "Archivo invalido, Solamente archivos GIF, JPG y PNG son permitidos."

En este ejemplo el tamaño permitido es de 1MB (1 millón de bytes).


<?php
//Tamaño y Formatos permitidos

if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/JPG")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 1000000)) { //Manejo de error de archivo if ($_FILES["file"]["error"] > 0)
    {
    echo "Return Code: " . $_FILES["file"]["error"] . "
";
    }
  else
    {
    //Muestra informacion del archivo subido

    echo "Upload: " . $_FILES["file"]["name"] . "
";
    echo "Type: " . $_FILES["file"]["type"] . "
";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb
";
    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "
";

     //Verifica si el archivo existe

    if (file_exists("img/" . $_FILES["file"]["name"]))
      {
      echo $_FILES["file"]["name"] . " already exists. ";
      }
    else
      {		

      move_uploaded_file($_FILES["file"]["tmp_name"], "img/" . $_FILES["file"]["name"]);

	echo "Almacenado en: " . "img/" . $_FILES["file"]["name"];

	$nombreArchivo = $_FILES["file"]["name"];

        // Muestra la imagen subida
        echo "<img src='img/$nombreArchivo'>";
      }
    }
  }
else
  {
  echo "Archivo invalido, Solamente archivos GIF, JPG y PNG son permitidos";
  }

No hay comentarios.

Agregar comentario