Subir imagen al servidor con PHP

Publicado por PcTec-21 martes, 16 de agosto de 2011


Hoy les traigo una forma sencilla de subir imagenes al servidor usando un script de php.

En primer lugar necesitamos un formulario para que la persona seleccione la imagen a subir  recuerda agregar el multipart/form-data porque sin el no funcionara el envio de imagenes este archivo lo llamaremos SubirImagen.htm



  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <title>Subir Imagen al Server con Php</title>
  5. </head>
  6. <form name="SubirImagen" action="imagenUpload.php" method="post" enctype='multipart/form-data'>
  7.     <input type="file" name="foto" /><br />
  8.     <center><input type="submit" value="Enviar" name="boton" /></center>
  9. </form>
  10. </body>
  11. </html>


luego tenemos el script de php con el que haremos la subida de la imagen desde la maquina del usuario a nuestro servidor al cual llamaremos imagenUpload.php


  1. <?php
  2. //con esta forma sacamos la extesion del archivo
  3. $ext = end(explode(".",$_FILES[imagen][name]));
  4. if (empty($_FILES[imagen][tmp_name]))
  5. {
  6.     //aqui le mostramos un mensaje en caso de que no haya
  7.     //seleccionado ningun archivo
  8.     echo "no ha seleccionado ningun archivo";
  9.     exit;
  10. }
  11. else
  12. {
  13.     //validamos que sea un formato de imagen valido
  14.     if ($ext == "jpg" or $ext == "bmp" or $ext == "png")
  15.         {
  16.             //comprobamos el tamaño de la imagen
  17.             //en caso de que queramos subir solo
  18.             //imagenes que no excedan un tamaño
  19.             //definido por nosostros en este caso
  20.             //las imagenes no pueden ser mas grandes
  21.             //de 500kb
  22.            
  23.             $size = $_FILES[imagen][size]/1000;
  24.            
  25.             if ($size>500)
  26.             {
  27.                 echo "archivo muy pesado"
  28.                 exit;
  29.             }
  30.             else
  31.             {
  32.                 //le creamos un nombre aleatorio a la imagen
  33.                 //con la extesion del archivo enviado
  34.                 $NombreArchivo=rand(0,999999999).".".$ext;
  35.                 //definimos la ruta de la carpeta de origen
  36.                 $CarpetaOrigen = $_FILES[imagen][tmp_name];
  37.                 //definimos la ruta de la carpeta de destino de la imagen
  38.                 $CarpetaDestino = "../libros/".$nombre;
  39.            
  40.                 //movemos el archivo desde el origen al destino
  41.                 if(move_uploaded_file($Carpetarigen, $CarpetaDestino))
  42.                 {
  43.                     //si fue exitoso mostramos un mensaje
  44.                     echo "El archivo fue subido con exito";
  45.                 }
  46.                 else
  47.                 {
  48.                     //si se produjo un error se lo mostramos al usuario
  49.                     echo "se ha producido un error, no se pudo subir el archivo";
  50.                 }
  51. }
  52. ?>


0 comentarios

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...
Con la tecnología de Blogger.

wibiya widget