Subir Imágenes Con PHP Muy Fácil a Nuestro Servidor

Subir imágenes con php, Hay veces que estamos inventando algo en nuestra web y de momento se nos ocurre una idea y tenemos que subir algún archivo a nuestro servidor ya sea de audio o imagen, el problema de esto viene cuando solo sabes trabajar con CMS o manejadores de contenido como WordPress o cualquiera de los otros que existen.

Lo que te voy a enseñar hoy es como subir imágenes con php usando las propiedades de dicho archivo antes de guardarlo en nuestro servidor, el código que implementaremos es php básico por lo que no debes preocuparte si eres principiante.

Preparando nuestro formulario para gestionar las subidas de imágenes con php.

<form  enctype="multipart/form-data" method="post">
     <input type="file" name="img" multiple>  
<button type="submit" value="Subir Imagen" />
</form>

Si te fijas lo que tenemos es un simple formulario con un input file y un botón el cual nos permite enviar los datos del formulario, ahora lo que vamos hacer es crear un documento php el cual nos permita procesar la subida de nuestra imagen.

Código del lado del servidor para subir fotos con php.

<?php 

// recorremos todos los archivos enviados por el formulario
foreach ($_FILES as $key)
{
	if($key['error'] == UPLOAD_ERR_OK )
		{
			$fileName = $key['name'];
			$fileTmp = $key['tmp_name'];
			$fileSize = $key["size"];	
			$fileType = $key["type"]; 
                 }
}

?>

Si se fijan el código es muy simple ya que lo que hace es recuperar los archivos que le hemos enviado a través de nuestro formulario el cual lo enviamos por el método post y asi mismo lo recuperamos desde nuestro servidor con php.

Controlando la subida de imágenes con php.

Bueno ahora para implementar algo de seguridad lo que vamos hacer es proteger nuestro pequeño gestor de imágenes para que este solo permita subir archivos de tipo imagen, esto lo podemos implementar cuando no solo nosotros vamos a utilizar dicho gestor aunque yo siempre recomiendo que lo implementes ya que un día podrías poner a alguien a publicar en tu web y así evita estar realizando modificaciones en el futuro.

Si te fijaste en nuestro script php sacamos todos los datos del archivo, ahora vamos a identificar que sea una imagen en caso positivo entonces procedemos a guardar el archivo.

<?php 

// recorremos todos los archivos enviados por el formulario
foreach ($_FILES as $key)
{
	if($key['error'] == UPLOAD_ERR_OK )
		{
			$fileName = $key['name'];
			$fileTmp = $key['tmp_name'];
			$fileSize = $key["size"];	
			$fileType = $key["type"]; 
                 }
}

// COMPROBAR SI EL ARCHIVO ES UNA IMAGEN DE TIPO JPG
if($fileType == 'image/jpg'){
// si es una imagen entonces esta doto listo

}else{
// si es otro tipo de archivo mostramos el siguiente mensaje
echo 'Solo se permiten subida de imagenes';
}

?>

Copiando las imágenes a nuestra carpeta del servidor.

Ahora lo que vamos hacer es mover el archivo que tenemos almacenado a un lugar de nuestro servidor para llamarlo desde cualquier parte de nuestra web simplemente con la introducir la URL , aunque esto se puede hacer también utilizando una base de dato para almacenar todas las URL de dichas imágenes pero ya eso es otro rollo que si quieres más adelante te explico como se hace.

<?php 

// recorremos todos los archivos enviados por el formulario
foreach ($_FILES as $key)
{
	if($key['error'] == UPLOAD_ERR_OK )
		{
			$fileName = $key['name'];
			$fileTmp = $key['tmp_name'];
			$fileSize = $key["size"];	
			$fileType = $key["type"]; 
                 }
}

// COMPROBAR SI EL ARCHIVO ES UNA IMAGEN DE TIPO JPG
if($fileType == 'image/jpg'){
// guardamos la imagen en una carpeta de nuestro servidor
move_uploaded_file($fileTmp, "../imge/$fileTmp")

}else{
// si es otro tipo de archivo mostramos el siguiente mensaje
echo 'Solo se permiten subida de imagenes';
}


?>

Con esto ya tendremos nuestra imagen guardada en nuestro servidor ya solo queda referenciarla con la URL para que esta pueda ser visible.

Si quieres hacer el código más complejo e implementar más seguridad te recomiendo que controles el tamaño de la imagen  así como un cambio de nombre para que las imágenes no se sustituyan las que tienen el mismo nombre.

Temas relacionados con la gestión de archivos a nuestro servidor que te pueden interesar.

  1. Subir imagenes php mysql
  2. Subir archivos en php
  3. Subir imagen php y mostrarla
  4. Upload files php
  5. Subir archivos php ejemplo
  6. Subir archivos php mysql
  7. Subir multiples archivos php
  8. Adjuntar archivos php

Como ves contamos con una amplia opciones para la gestión de todo tipos de archivos y si como ejemplos para que puedas guiarte de una manera mucho mas fácil, como siempre te recomendamos que si no encuentras lo que busca que dejes un comentario con tu pedido lo analizaremos y te responderemos a la brevedad posible, así que con este post ya estarás listo para empezar a gestionar imágenes con php y luego puedes usar mysql para mostrarla.

Hasta una próxima entrega…

Deja un comentario

Tu dirección de correo electrónico no será publicada.