Orden
-/raiz/ :
raiz/imagenes/
raiz/librerias/
raiz/librerias/clases.php
raiz /librerias/clase_imagen.php
raiz/librerias/bd/PDO_bd.php
raiz/config.php
raiz/subir.html
raiz/subir.php
subir.html:
Código HTML:
 <!-- /* * SurKaiser * Aplicacion Subir Imagen Alpha-1.0 * http://www.surkaiser.com.es/ * * $subir.html * Ultima modificacion : 11/01/2012 by SurKaiser */ --> <html> <head> <title>Subir imagen por SurKaiser</title> <meta name="autor" content="SurKaiser"> </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> <form action="subir.php" method="post" enctype="multipart/form-data"> <tr> <td> </td> <td><input type="file" name="imagen" /></td> </tr> <tr> <td> </td> <td><input type="submit" value="enviar"></td> </tr> </form> </table> </body> </html>
Código PHP:
   <?php
 
/*
*                       SurKaiser
*                Aplicacion Subir Imagen Alpha-1.0
*               http://www.surkaiser.com.es/
*
*                  $clase_imagen.php
*         Ultima modificacion : 11/01/2012 by SurKaiser
*/
 
@include("config.php");
           $archivo = $_FILES['imagen'];
                          $arnombre = $_POST['imagen'];
          $imgvas = new imagen;
        
           if($imgvas->comprueba($archivo['name']))
           {
          
                  $imagen = new extension($archivo,$cf_ex,$cf['dir']);
                
           }
           else {
                   echo "Debes seleccionar la imagen a subir";
           }
          
?>    Código PHP:
   <?PHP if (! defined("EN_SURKAISER")) { exit("No se puede visializar los scripts"); }
/*
*                       SurKaiser
*                Aplicacion Subir Imagen Alpha-1.0
*               http://www.surkaiser.com.es/
*
*                  $clases.php
*         Ultima modificacion : 11/01/2012 by SurKaiser
*/
 
 
         include_once("bd/PDO_bd.php");
         include_once("clase_imagen.php");
        
        
         ?>    Código PHP:
   <?PHP if (! defined("EN_SURKAISER")) { exit("No se puede visializar los scripts"); }
/*
*                       SurKaiser
*                Aplicacion Subir Imagen Alpha-1.0
*          http://www.surkaiser.com.es/
*
*                  $clase_imagen.php
*         Ultima modificacion : 11/01/2012 by SurKaiser
*/
 
 
  class  imagen
  {
          protected $archivo;
          protected $url;
          protected $extensiones;
        
                   public function comprueba($ar)
                   {
                           $this->archivo = $ar;
                  
                                if(empty($this->archivo))
                                {
                                        return false;
                                }
                                else {
                                        return true;
                                        }
                   }
  }
  class subir extends imagen
  {
          private $dir = string;
          private $random;
          private $exten ;
          private $arr;
          public function subir($ar,$ex,$dir)
          {
                  $this->dir=$dir;
        
                   $this->archivo = explode(".",$ar['name']);
                   $this->extensiones = $ex;
                   $random = (date("d:m:y:h:i") * rand()*9999999);
 
                        if(in_array($this->archivo[1],$this->extensiones))
                        {
                          
                                $this->url = $dir.$random.".".$this->archivo[1];
 
                  if(!file_exists($this->dir))
                  {
                          @mkdir($this->dir,777);
                  }
                  $this->arr = array(':nombre' => "hola",
                  ':des' => "Hola",
                  ':url' => $this->url
                  );
                  $this->archivo = $ar;
                        if(move_uploaded_file($this->archivo['tmp_name'],$this->url))
                        {
                 $base = new bd(TBD,SER,BD,US,CL);
 
                  $sql = $base->prepare("INSERT INTO imagenes(nombre,descripcion,url) VALUES(:nombre,:des,:url)");
                
                  if($sql->execute($this->arr))
                  {
                        
                  
                          echo "Imagen subida y almacenada correctamente";
                  }
                  else {
                          echo "Error";
                  }
                        } else {
                                echo "error";
                        }
                        }
                        else {
                          echo "Extension invalida";
                                   }
          
  
          }
  }
  class extension extends subir
  {
  }
?>    Código PHP:
   <?PHP if (! defined("EN_SURKAISER")) { exit("No se puede visializar los scripts"); }
 
/*
*                       SurKaiser
*                Aplicacion Subir Imagen Alpha-1.0
*               http://www.surkaiser.com.es/
*
*                  $PDO_bd.php
*         Ultima modificacion : 11/01/2012 by SurKaiser
*/
 
 
                         class PDOConfig extends PDO {
                  
                         private $servidor;
                         private $BDS;
                         private $u;
                         private $clave;
                         private $tipo;
                        
                         public function __construct($t,$s,$b,$u,$c)
                         {
                        
                                          
                                                 $this->tipo = $t;
 
                 $this->servidor = $s;
                 $this->BDS = $b;
                 $this->u   = $u;  
                 $this->clave = $c;
                  switch($this->tipo)
                  {
                          case 'mysql':
                          parent::__construct('mysql:host='.$this->servidor.';dbname='.$this->BDS,$this->u,$this->clave);
                        
                          break;
                          case 'oracle':
                          parent::__construct('OCI:host='.$this->servidor.';dbname='.$this->BDS,$this->u,$this->clave);
                          break;
                          case 'postgresql':
                          parent::__construct('pgsql:host='.$this->servidor.';dbname='.$this->BDS,$this->u,$this->clave);
                          break;
                          default:
                          return false;
                          break;
                  }
                 }      
                         }
                        
          
          class bd extends PDOConfig
          {
                  protected $sql;
                  protected $rows;
                  protected $pedir;
                        
                         public function numero($con)
                         {
                                 $this->sql = parent::prepare($con);
                                 $this->sql->execute();
                                 return $this->sql->fetchColumn();
                         }
                         public function resultado($con)
                         {
                                 $this->sql = parent::prepare($con);
                                  $this->sql->execute();
                                  return $this->sql;
                                 }
                          
                        
          }
?>    Código PHP:
  
 <?PHP
 
/*
*                       SurKaiser
*                Aplicacion Subir Imagen Alpha-1.0
*               surkaiser.com.es
*
*                  $config.php
*         Ultima modificacion : 11/01/2012 by SurKaiser
*/
 
  //Definimos variable global
  define("EN_SURKAISER",true);
   //Incluye las operaciones necesarias.
                   include_once("librerias/clases.php");
  //Extensiones a usar
  $cf_ex = array("jpg","jpeg","bmp","png","gif");
  //Habilitamos el uso con BDS
  $cf['usarBd'] = true;                 //Habilita el uso de Bd con imagenes
  //mysql
  $cf['bd']['tipo']  =   'mysql'  ;   //Tipo de Servidor de BD's
  /*´
  //Si usas otra bd pon en comentario el default de 'mysql' o simplemente
  //cambialo por la lista mostrada mas abajo
  //DBS disponibles para usar en esta version :
  //Postgresql
  $cf['bd']['tipo']     = 'postgresql';
  //Oracle
  $cf['bd']['tipo']     = 'oracle';
  */
  $cf['bd']['host']  = 'localhost';        //Servidor Bd
  $cf['bd']['u']         = 'root'        ;         //Usuario de BD
  $cf['bd']['clave'] = 'CHKDSKK1' ;        //Clave de la Bd
  $cf['bd']['nbd']      = 'clases';        //Nombre de la Bd
 
          $cf['dir']     = 'imagenes/';   //Directorio a usar
        
          //VARIABLES PARA LA CONEXION
          define("TBD",  $cf['bd']['tipo']);
          define("SER",  $cf['bd']['host']);
          define("US",   $cf['bd']['u']);
          define("CL",   $cf['bd']['clave']);
          define("BD",   $cf['bd']['nbd']);
          //PDO GLOBAL ((NO MODIFICAR EN CASO DE USAR BD))
                $base = new bd(TBD,SER,BD,US,CL);
                        
  
                
?>    
 
 Muy bueno el aporte pero no estás teniendo en cuenta varios errores...



Este tema le ha gustado a 3 personas