[FUNCION] Subir Una Imagen Con PHP Vesion 0.1

Hola a todos,
Como veran soy nuevo por aqui , quiero aportarles mucho a esta gran comunidad y tambien quiero aprender de ella.

Bueno esta vez les traigo una funcion para subir imagen a tu servidor, es una funcion muy basica pero fundamental en muchas ocasiones, esta es su version 0.1 , porque la ire mejorando , tambien quiero sugerencias de como quieres que quede la funcion, pienso continuarla de la manera en que un usuario escriba su nombre y se le asigne esa imagen al usuario, o que la suba y le de la direccion y un link para poner en foros, en fin hay mil maneras de continuarla ustedes deciden xD.

Version 0.1 :

- Archivo subir.php
- Carpeta con imagenes subidas.
- Examinar y confirmar que el archivo sea una imagen.
- Extensiones disponibles : .jpg, .bmp, .gif, .png

Para que funcione deben de crear una carpeta de nombre : "imagenes" en donde se encuentra el archivo subir.php

subir.php :
<?php

/*
*            SurKaiser
*         Funcion Subir Imagen 0.1
*  Hecha para http://www.comocreartuweb.com/
*
*/

?>
<!--

HTML

-->

<html>
<head>
<title>Subir imagen por SurKaiser</title>
</head>
<body>
<table width="50%" align="center">
<tr>
<td width="25%">Selecciona una imagen</td>
<td width="25%"> Archivos permitidos : *jpg, *bmp, *png y *gif</td>
</tr>
<!-- El formulario se le añade enctype para que pueda subir la imagen al servidor -->
<form action="subir.php" method="post" enctype="multipart/form-data">
<tr>
<td>&nbsp;</td>
<td><input type="file" name="imagen" /></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" value="enviar"></td>
</tr>
</form>
</table>
<?php
    //Comprobamos si no ha enviado ninguna imagen
   if(empty($_FILES["imagen"]))
   {
    //Si no lo ha hecho dejamos en blanco la pagina.
     echo "&nbsp;";
	 }
	 else{
          //Si ya envio la imagen procedemos a subirla al servidor
        //Creamos una variable con las extensiones de los archivos que permitiremos que pueda subir
	 $extensiones = "jpg , bmp , gif , png , jpeg ";
        //Creamos una variable que va contener la informacion enviada por el formulario
	$imagen1 = $_FILES["imagen"];
       //Veamos que extension tiene el archivo enviado, para eso utilizaremos la funcion explode
      // esta funcion sirve para separar una variable encontrando un string que nosotros le indiquemos
      // en este caso sera un "." simple punto que servira para separar el nombre de la imagen de la extension
     //Lo que hace es esto : nombre.jpg lo separa en mode de array a "nombre" y "jpg"
	$extension = explode(".",$imagen1["name"]);
          //Verificamos si la extension separada existe en una de las extensiones permitidas
         //para eso utilizamos la funcion strstr que sirve para buscar un string dentro de otro
	   if(!strstr($extensiones,$extension[1]))
	      { 
                  //Si la extension no fue encontrada entre nuestras extensiones , mostremos mensaje de error
		    echo "Por favor, sube una imagen con las siguientes extensiones :
			    *jpg, *bmp, *png y *gif , no esta permitido subir archivos con esta extension : .".$extension[1];
				}
			 else {
                             //Si todo salio bien movemos el archivo subido a nuestra carpeta de almacenamiento
			   move_uploaded_file($imagen1["tmp_name"], "imagenes/".$imagen1["name"]);
			   echo "Tu imagen se ha subido correctamente";
			 }
}
?>
</body>
</html>
Por ahora eso es todo , pueden editarla a su gusto o darme sugerencias para continuar.

Saludos
hola SurKaiser, muchas gracias por el script, podrías comentar un poco por favor para comprender mejor el código, saludos [;)]
Furiontech escribió:hola SurKaiser, muchas gracias por el script, podrías comentar un poco por favor para comprender mejor el código, saludos [;)]

Claro que si, editare el codigo poniendo unos pequeños comentarios gracias por comentar xD