Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

[Aporte] Subir Imagenes PHP con POO y PDO

Estas en el tema de [Aporte] Subir Imagenes PHP con POO y PDO en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Mi aporte sin tuto por falta de caracteres :s 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: <!-- ...
  #1 (permalink)  
Antiguo 29/01/2012, 16:01
 
Fecha de Ingreso: enero-2012
Ubicación: localhost
Mensajes: 37
Antigüedad: 7 años, 10 meses
Puntos: 10
[Aporte] Subir Imagenes PHP con POO y PDO

Mi aporte sin tuto por falta de caracteres :s

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>&nbsp;</td>
<td><input type="file" name="imagen" /></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" value="enviar"></td>
</tr>
</form>
</table>

</body>
</html> 
subir.php:
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";
           }
          
?>
clases.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/
*
*                  $clases.php
*         Ultima modificacion : 11/01/2012 by SurKaiser
*/


         
include_once("bd/PDO_bd.php");
         include_once(
"clase_imagen.php");
        
        
         
?>
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
  
{
  }
?>
PDO_bd.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/
*
*                  $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;
                                 }
                          
                        
          }
?>
Ahora el config.php y despues lo configuraremos para que funcione :

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);
                        
  
                
?>
__________________
"El Conocimiento Es Poder
Mente Comunal - Diversidad Colectiva
  #2 (permalink)  
Antiguo 29/01/2012, 16:02
 
Fecha de Ingreso: enero-2012
Ubicación: localhost
Mensajes: 37
Antigüedad: 7 años, 10 meses
Puntos: 10
Respuesta: [Aporte] Subir Imagenes PHP con POO y PDO

Info

Esta es una simple funcion de subir una imagen al servidor, pero esta vez de ser una funcion se transformara en una aplicacion o un script como ustedes lo miren, la version anterior era una funcion basica(la podras encontrar al final del post) para subir imagenes, no hubo sugerencias de como hubieran querido mejorar la funcion , asi que empeze mejorandola a como comunmente se usan en muchos sitios web o incluso en foros para asignarle una imagen a un usuario.(Se puede adaptar a phpost) o puedes dar sugerencias de como lo quieres o en donde pondrias una apli para subir archivos en phpost, en fin sino hay esa opcion este post es con animos de enseñanza

Esta vez es la version Alpha-1.0 y la ire mejorando en cuanto pueda y tambien se ira adaptando segun sugerencias de los usuarios.

Version Alpha-1.0 Cambios en la version (La anterior esta hasta abajo y fue puesta en otra web):
*Interfaz completamente mejorada y cambiada
* Implementacion de OOP
* Implementacion de PDO
* Implementacion de bases de datos
- Ahora la direccion de los archivos se almacena en la bd
- Proximamente implementacion de nombre y descripcion de la imagen segun usuario
*Uso multiple con bases de datos
-Se implemento el uso con diversas bases de datos (Proximamente mas)
-Bases de datos soportadas hasta esta version :
^- Mysql (Estado : Funcionando al 100% , aparentemente no ha dado fallos)
^- Oracle (Estado: Beta - aun no se confirma que funcione(no testeada) , es necesario probarse)
^- Postgresql (Estado : Beta - aun no se testea y se confirma que funcione, es necesario testear)
*Asignacion de nombre random a la imagen
-Ahora se le asigna un nombre random a cada imagen subida, esto para evitar conflictos a futuro
*Archivo de configuracion($config.php)
-Posibilidad de cambiar carpeta de almacenamiento
-Posibilidad de cambiar tipo de base de datos
-Asignacion de servidor,bd,usuario y clave de base de datos
-Posibilidad de añadir o quitar extensiones de los archivos
.- Ahora puedes decidir que archivos permitir (.jpg,.jpeg etc.)

-Posibles fallos (bugs) :
*Si no existe la carpeta de almacenamiento se creara automaticamente (requiere de permisos 755 a subir.php)
*Uso de bds Oracle y Postgresql : posible fallo de uso con estas bases de datos aun no se ha probado el script aqui
PD : SI ENCUENTRAS ALGUNO POR FAVOR REPORTALO AQUI.
__________________
"El Conocimiento Es Poder
Mente Comunal - Diversidad Colectiva
  #3 (permalink)  
Antiguo 29/01/2012, 16:03
 
Fecha de Ingreso: enero-2012
Ubicación: localhost
Mensajes: 37
Antigüedad: 7 años, 10 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
  #4 (permalink)  
Antiguo 29/01/2012, 16:16
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 8 años, 4 meses
Puntos: 793
Respuesta: [Aporte] Subir Imagenes PHP con POO y PDO

Muy bueno el aporte pero no estás teniendo en cuenta varios errores...

Código PHP:
Ver original
  1. private $dir = string;

me podrías explicar esa parte en la clase subir. ¿Para qué una constante con el nombre string sin definir?

edit: Me funciona bien y se valora mucho el uso de PDO. +1

Pd: seguiré leyendo el código. Gracias.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Última edición por andresdzphp; 29/01/2012 a las 17:32
  #5 (permalink)  
Antiguo 29/01/2012, 18:13
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 12 años, 2 meses
Puntos: 188
Respuesta: [Aporte] Subir Imagenes PHP con POO y PDO

Cita:
Iniciado por SurKaiser Ver Mensaje
-Bases de datos soportadas hasta esta version :
^- Mysql (Estado : Funcionando al 100% , aparentemente no ha dado fallos)
^- Oracle (Estado: Beta - aun no se confirma que funcione(no testeada) , es necesario probarse)
^- Postgresql (Estado : Beta - aun no se testea y se confirma que funcione, es necesario testear)
Si utiliza PDO entonces si que funciona 100% para todas esas y más

Gracias por el aporte =D.

Sabes, podrías crear una clase que valide distintos formatos de archivos, comprima, descomprima, haga modificaciones en imágenes como escribir texto, cambiar tonalidades, etc.., redimencionar imágenes...

Si la haces y la subes intenta subirla a php clases, eso sería buen aporte :D

saludos
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #6 (permalink)  
Antiguo 29/01/2012, 18:50
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 6 meses
Puntos: 2135
Respuesta: [Aporte] Subir Imagenes PHP con POO y PDO

También no veo el caso de que crees varias clases, y heredes de ellas, por ejemplo la clase extension que extiende de subir no tiene mucho caso. Es mejor un diseño más limpio para tu diseño de clases.
  #7 (permalink)  
Antiguo 29/01/2012, 22:35
 
Fecha de Ingreso: enero-2012
Ubicación: localhost
Mensajes: 37
Antigüedad: 7 años, 10 meses
Puntos: 10
Respuesta: [Aporte] Subir Imagenes PHP con POO y PDO

Cita:
Iniciado por andresdzphp Ver Mensaje
Muy bueno el aporte pero no estás teniendo en cuenta varios errores...

Código PHP:
Ver original
  1. private $dir = string;

me podrías explicar esa parte en la clase subir. ¿Para qué una constante con el nombre string sin definir?

edit: Me funciona bien y se valora mucho el uso de PDO. +1

Pd: seguiré leyendo el código. Gracias.
Buen punto lo del string, creo que es inecesario lo reviso
Gracias amigo por el punto :P

Cita:
Iniciado por iovan Ver Mensaje
Si utiliza PDO entonces si que funciona 100% para todas esas y más

Gracias por el aporte =D.

Sabes, podrías crear una clase que valide distintos formatos de archivos, comprima, descomprima, haga modificaciones en imágenes como escribir texto, cambiar tonalidades, etc.., redimencionar imágenes...

Si la haces y la subes intenta subirla a php clases, eso sería buen aporte :D

saludos
Gracias por la sugerencia es buena la idea intentare continuarla apartir de lo que me propones
un saludo

Cita:
Iniciado por GatorV Ver Mensaje
También no veo el caso de que crees varias clases, y heredes de ellas, por ejemplo la clase extension que extiende de subir no tiene mucho caso. Es mejor un diseño más limpio para tu diseño de clases.
Tambien existen otras 2 clases para un mejor uso del PDO que no las uso , decidi parar hasta el momento cree esas clases iba a seguir continuando pero lo deje por el momento asi ya que es base para continuar para muchas ideas de diferentes tipos, si continuaba mi idea podria terminar inservible para muchos usuarios , tambien quiero profundizar llevando acabo las ideas de los usuarios como la sugerencia de iovan

Saludos!
__________________
"El Conocimiento Es Poder
Mente Comunal - Diversidad Colectiva
  #8 (permalink)  
Antiguo 22/05/2012, 05:49
 
Fecha de Ingreso: julio-2007
Ubicación: Gran Canaria (España).
Mensajes: 13
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: [Aporte] Subir Imagenes PHP con POO y PDO

hola buenas quería saber como subo una imagen de un file a una carpeta y que me la lea en la BD que esta en postgresql que por mas que lo intento no sale...

este es mi codigo de la BD
create table ajustes_slider(
id serial,
ruta character varying (250)
url character varying (250)
PK_id

ahora lo que tengo es esto:

Guardarimg.php

<?php

$max=1500000;
$nombreclean=htmlspecialchars($email);
$nuevodirectorio="_img/$nombreclean";
mkdir ($nuevodirectorio);
$uploaddir = "$nuevodirectorio/";
$filesize = $_FILES['upfile']['size'];
$filename = trim($_FILES['upfile']['name']);
$filename = substr($filename, -20);
$filename = ereg_replace(" ", "", $filename);
if($filesize < $max){
if($filesize > 0){
if((ereg(".jpg", $filename)) || (ereg(".gif", $filename)) || (ereg(".JPG", $filename))|| (ereg(".GIF", $filename))){
$uploadfile = $uploaddir . $filename;
if (move_uploaded_file($_FILES['upfile']['tmp_name'], $uploadfile)) {
print("Archivo subido correctamente");
} else {
print("Error de conexi&oacute;n con el servidor.");
}
} else {
print("Sólo se permiten imágenes en formato jpg. y gif., no se ha podido adjuntar.");
}
}
else {
print("<br><br>Campo vac&iacute;o, no ha seleccionado ninguna imagen");
}
}
else {
print("<br><br>La imagen que ha intentado adjuntar es mayor de 1.5 Mb, si desea cambie el tamaño del archivo y vuelva a intentarlo.");
}
?>



y index.php

<?php
session_start();

define('RAIZ',"","");
include(RAIZ."_partes/_parte1.php");
include(RAIZ."_bib/class_panelcontrol.php");





?>
<script language="javascript">
<!--
function confirmar(id){
if(confirm("¿Esta seguro de que desea eliminar esta imagen?"))
window.location='eliminarImagen.php?id='+id;
}
function desplegar(){
if(document.getElementById('nuevo').style.visibili ty == "visible")
document.getElementById('nuevo').style.visibility = "collapse";
else
document.getElementById('nuevo').style.visibility = "visible";
}
// -->
</script>
<div id="ed_1">
<div class="titulo-cont">
Listado de fotos del Slider
</div>
<div id="ed_2">
<form name="guardarcambios" action="guardarimg.php" method="post">
<table class="listado" cellspacing="0">
<tr>
<th class="centrado" title="Vista preliminar">Imagen</th>
<th class="centrado" title="url de la pagina">Url</th>
<th>Añade imagen <input type="file" class="imagen " /></th>



</tr>
<?php
$i=-1;
$array=array();

foreach (PanelControl::sliderRuta() as $ruta){

$array[]=$ruta;
}


foreach (PanelControl::sliderUrl() as $url) {
$i++;


?>
<tr>



<td class="centrado" width="450"><img style="margin: 0 auto; height:100px; width:125px" src="<?php echo $array[$i];?>" alt="Imagen del slider" /></td>
<td class="centrado" width="200"><input type="text" title="url" value="<?php echo $url; ?>" /> </td>
<td class="modificar_eliminar"><a href="javascript:confirmar('<?php echo PanelControl::recogeid();?>') title="Eliminar imagen"><img src="<?php echo RAIZ;?>_img/eliminar.jpg" alt="Eliminar" /></a></td>

</tr>
<?php } ?>


<tr>
<td colspan="6"><!-- <p><a href="imagenes-edicion.php" title="Ver la lista de imgenes de edición">Ver imágenes de edición</a></p>-->
<div class="centrado">
<input class="btn_panel" onmouseover="this.style.color='#000'; this.style.background='#DEF';this.style.border='#3 33 inset 2px';" onmouseout="this.style.color='#FFF'; this.style.background='#46a';this.style.border='#0 00 outset 2px';" type="submit" name="guardarcambios" value="Guardar" title="Guardar Publicaciones" \>
</div></td>
</tr>

</table>
</form>
<br clear="all"/>
</div>
<div id="ed_3"></div>
</div>
<?php
include (RAIZ . "_partes/_parte2.php");
?>


gracias por la ayuda
  #9 (permalink)  
Antiguo 16/09/2014, 16:12
 
Fecha de Ingreso: septiembre-2014
Mensajes: 1
Antigüedad: 5 años, 2 meses
Puntos: 0
De acuerdo Respuesta: [Aporte] Subir Imagenes PHP con POO y PDO

( ! ) SCREAM: Error suppression ignored for
( ! ) Notice: Use of undefined constant string - assumed 'string' in C:\wamp\www\aporte\subir.php on line 11

En la linea 11 del codigo me encuento con esto
$imagen = new extension($archivo,$cf_ex,$cf['dir']);

Etiquetas: html, imagenes, mysql, pdo, php, poo, sql, variables, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 3 personas




La zona horaria es GMT -6. Ahora son las 17:17.