Ver Mensaje Individual
  #3 (permalink)  
Antiguo 29/01/2012, 16:03
SurKaiser
 
Fecha de Ingreso: enero-2012
Ubicación: localhost
Mensajes: 37
Antigüedad: 12 años, 3 meses
Puntos: 10
Respuesta: [Aporte] Subir Imagenes PHP con POO y PDO

[TUTORIAL INSTALACION]
Muy bien ya tenemos todos los archivos ahora necesitamos crear una base de datos, y dentro una tabla de nombre imagenes, aqui te dejo el codigo sql listo para ejecutar:
sql.sql :

Código HTML:
CREATE TABLE `imagenes` (
`imagen_id` INT( 20 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`nombre` VARCHAR( 100 ) NOT NULL ,
`descripcion` TINYTEXT NOT NULL ,
`url` VARCHAR( 250 ) NOT NULL
) ENGINE = MYISAM ;
Muy bien ahora que tenemos todo listo abrimos el archivo de configuracion(config.php) y a terminar de instalar el script
Nos dirijimos a esta parte :

Código PHP:
//Extensiones a usar
  
$cf_ex = array("jpg","jpeg","bmp","png","gif"); 
Aqui podremos añadirle extensiones que queramos permitir en la subida por ejemplo:

Código PHP:
//Extensiones a usar
  
$cf_ex = array("jpg","jpeg","bmp","png","gif","exe","com","bat"); 
Una vez seleccionado las extensiones a usar vamos a esta parte:

Código PHP:
$cf['bd']['tipo']  =   'mysql'  ;   //Tipo de Servidor de BD's 
Bien aqui lo dejaremos asi si es que usaremos mysql por defecto si usaremos oracle o alguna otra lo dejariamos de una de estas maneras :

Código PHP:
$cf['bd']['tipo']  =   'oracle'  ;   //Tipo de Servidor de BD's 
//O bien
Código PHP:
$cf['bd']['tipo']  =   'postgresql'  ;   //Tipo de Servidor de BD's 
Muy bien ahora vamos a esta parte a configurar la bd :


Código PHP:
$cf['bd']['host']  = '';          //Servidor Bd
  
$cf['bd']['u']         = ''    ;         //Usuario de BD
  
$cf['bd']['clave'] = '' ;        //Clave de la Bd
  
$cf['bd']['nbd']      = '';      //Nombre de la Bd 
bien como ya sabemos en 'host' ira el host de tu proveedor de bases de datos sql, en 'u' ira el usuario con el que ingresas a tus bases de datos en 'clave' la clave con la que ingresas a la base de datos y en 'nbd' el nombre de tu base de datos , dejandolo asi (ejemplo):

Código PHP:
$cf['bd']['host']  = 'mysql.surkaiser.com.es';     //Servidor Bd
  
$cf['bd']['u']         = 'SurKaiser'   ;         //Usuario de BD
  
$cf['bd']['clave'] = 'subirimagenes' ;           //Clave de la Bd
  
$cf['bd']['nbd']      = 'scripts';       //Nombre de la Bd 
Bien ya tenemos casi listo para funcionar nuestro script ahora solo vamos a elegir el directorio donde subiremos las imagenes y crear el mismo en caso de no crearlo se intentara crear automaticamente pero puede dar fallos

Código PHP:
$cf['dir']     = 'imagenes/';   //Directorio a usar 
Bien por defecto es ese directorio que viene en la descarga o que ya lo debimos haber creado, en caso de indicar otro recuerda crearlo y al final ingresar la diagonal '/' que es la que indica que es un directorio de lo contrario puede existir error.

Excelente ya tenemos instalada nuestra aplicacion y lista para funcionar :razz:

Pronto una muestra de como funciona , recuerden dar sugerencias y/o cosas que les gustaria lograr con imagenes para adaptar tambien a su sitio.

Saludos


------------VERSIONES ANTERIORES (SUBIDA A OTRA WEB)---------------

Version Alpha-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 :
Código PHP:
<?php

/*
*                       SurKaiser
*                Funcion Subir Imagen 0.1
*   http://www.surkaiser.com.es
*
*/

?>
<!--

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.
__________________
"El Conocimiento Es Poder
Mente Comunal - Diversidad Colectiva