Foros del Web » Programando para Internet » PHP »

problemas para subir imagenes

Estas en el tema de problemas para subir imagenes en el foro de PHP en Foros del Web. buenas tardes. me descargue la clase para subir imagenes class.upload.php de la pagina web de http://www.verot.net/php_class_upload.htm . lo implemente en un formulario para subir productos. ...
  #1 (permalink)  
Antiguo 18/10/2010, 13:45
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años
Puntos: 7
Pregunta problemas para subir imagenes

buenas tardes. me descargue la clase para subir imagenes class.upload.php de la pagina web de http://www.verot.net/php_class_upload.htm.

lo implemente en un formulario para subir productos. son 3 imagenes que subo. cuando lo ejecute en el servidor, me sale este error.

Catchable fatal error: Object of class upload could not be converted to string in D:\AppServ\www\kanto-home\admin\productos\funciones.php on line 5

me dice que mi archivo funciones.php sale un error en alguna de las variables.

Código PHP:
Ver original
  1. function agregarmuebles($idcategoria,$nombre_mueble,$acabado,$tamanio,$codigo_mueble,$imagen_mueble,$foto1,$foto2){
  2.     $sql_agregar  = "insert into kh_galeria_imagenes(idcategoria,nombre_mueble,acabado,tamanio,codigo_mueble, ";
  3.     $sql_agregar .= "imagen_mueble,foto1,foto2)values('$idcategoria','$nombre_mueble','$acabado','$tamanio','$codigo_mueble','$imagen_mueble','$foto1','$foto2')";
  4.    
  5.     mysql_query($sql_agregar) or die(mysql_error());
  6.    
  7.     header("Location:index.php");
  8.    
  9. }

este es mi codigo que sube las imagenes.

Código PHP:
Ver original
  1. include("../../includes/conexion.php");
  2. include("../../includes/class.upload.php");
  3. include("funciones.php");  
  4.  
  5. $categoria        = $_POST['categoria'];
  6. $nombre_mueble    = $_POST['nombre_mueble'];
  7. $acabado          = $_POST['acabado'];
  8. $tamanio          = $_POST['tamanio'];
  9. $codigo_mueble    = $_POST['codigo_mueble'];
  10.  
  11. if(!isset($_POST['editar'])){
  12.  
  13.     $str = "abcdefghijklmnopqrstuvwxyz1234567890";
  14.     $cad = "";
  15.     for($i=0;$i<12;$i++) {
  16.         $cad .= substr($str,rand(0,20),1);
  17.     }  
  18.  
  19.     $imagen_mueble = new upload($_FILES['imagen_mueble']);
  20.     $path = "../../productos/";    
  21.     $imagen_mueble->image_resize         = true;
  22.     $imagen_mueble->image_x              = 386;
  23.     $imagen_mueble->image_y              = 305;
  24.     $imagen_mueble->process($path);
  25.  
  26.     #foto 1.
  27.    
  28.     $foto1 = new upload($_FILES['foto1']);
  29.     $path2 = "../../productos/";
  30.     $foto1->image_resize         = true;
  31.     $foto1->image_x              = 386;
  32.     $foto1->image_y              = 305;
  33.     $foto1->process($path2);
  34.  
  35.     #foto 2.   
  36.     $foto2 = new upload($_FILES['foto2']);
  37.     $path3 = "../../productos/";       
  38.     $foto2->image_resize         = true;
  39.     $foto2->image_x              = 386;
  40.     $foto2->image_y              = 305;
  41.     $foto2->process($path3);
  42.                        
  43.    
  44.     agregarmuebles($categoria,$nombre_mueble,$acabado,$tamanio,$codigo_mueble,$imagen_mueble,$foto1,$foto2);
  45.    
  46. }
  #2 (permalink)  
Antiguo 18/10/2010, 13:49
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: problemas para subir imagenes

te invito a usar un traductor en linea...
Cita:
Catchable fatal error: Object of class upload could not be converted to string in D:\AppServ\www\kanto-home\admin\productos\funciones.php on line 5
simplemente te dice que no puedes usar un objeto como string, y al parecer eso es lo que haces... a tu función, le pasas los objetos que contienen los uploads!!

tan solo deberías pasar las rutas de los mismos, no los objetos completos...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 18/10/2010, 13:55
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años
Puntos: 7
Respuesta: problemas para subir imagenes

gracias por la respuesta pateketrueke. lo que entendi es que mi funcion no deberia concatenarle ?. si estoy equivocado, corrijame.

saludos.
  #4 (permalink)  
Antiguo 18/10/2010, 14:11
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: problemas para subir imagenes

Cita:
Iniciado por esaenz22 Ver Mensaje
gracias por la respuesta pateketrueke. lo que entendi es que mi funcion no deberia concatenarle ?. si estoy equivocado, corrijame.

saludos.
vuelve a interpretar el mensaje de error por favor...

no, lo que pasa es que tu función acepta solo valores escalares (no objetos, no arrays, nada que no sea un integer o string) para producir finalmente un string, que sería tu consulta de SQL, ¿de acuerdo hasta aquí?

en tu implementación decides enviar como argumentos los objetos que has creado previamente, lo cual esta mal...
Código PHP:
$imagen_mueble = new upload($_FILES['imagen_mueble']);
$foto1 = new upload($_FILES['foto1']);
$foto2 = new upload($_FILES['foto2']); 
dicha variable es un objeto, por lo tanto el mensaje de error te dice claramente eso: que no puede convertir un objeto en string...
Cita:
agregarmuebles($categoria,$nombre_mueble,$acabado, $tamanio,$codigo_mueble,$imagen_mueble,$foto1,$foto2);
si el concepto de tu función consiste en almacenar la ruta de tus uploads, entonces lo que debes pasar como argumento es un string que contenga el valor de dicha ruta, y no un objeto como lo haces actualmente...

solo eso, no sabemos como funciona la librería que empleas... pero lo que es seguro es que debes obtener tan solo la ruta de dichos uploads y usarla como argumento válido... (:
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 18/10/2010, 15:22
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años
Puntos: 7
Respuesta: problemas para subir imagenes

gracias de nuevo por la respuesta pateketrueke. lo qu mencionaste:

Código TEXT:
Ver original
  1. si el concepto de tu función consiste en almacenar la ruta de tus uploads, entonces lo que debes pasar como argumento es un string que contenga el valor de dicha ruta, y no un objeto como lo haces actualmente...

osea solo debo almacenar y guardar el nombre de la imagen no la ruta y la imagen completa.

buscando el manual de class.upload.php, tenia que colocar un argumento para que me capture el nombre de la imagen.

file_dst_name.

Código PHP:
Ver original
  1. $handle = new upload($_FILES['imagen_mueble']);
  2.    
  3. $handle->file_new_name_body   = $cad;
  4. $handle->image_resize         = true;
  5. $handle->image_x              = 386;
  6. $handle->image_y              = 305;
  7. $handle->process("../../productos/");
  8. $imagen_mueble = $handle->file_dst_name;       
  9.  
  10. #foto 1.
  11. $handle1 = new upload($_FILES['foto1']);
  12.        
  13. $handle1->file_new_name_body   = $cad;
  14. $handle1->image_resize         = true;
  15. $handle1->image_x              = 386;
  16. $handle1->image_y              = 305;
  17. $handle1->process("../../productos/");
  18. $foto1 = $handle1->file_dst_name;              
  19.  
  20. #foto 2.
  21. $handle2 = new upload($_FILES['foto2']);
  22.  
  23. $handle2->file_new_name_body   = $cad;
  24. $handle2->image_resize         = true;
  25. $handle2->image_x              = 386;
  26. $handle2->image_y              = 305;
  27. $handle2->process("../../productos/");                             
  28. $foto2 = $handle2->file_dst_name;

saludos.

Etiquetas: imagenes, subir
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




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