Foros del Web » Programando para Internet » PHP »

Fatal error: Call to undefined method stdClass::upload()

Estas en el tema de Fatal error: Call to undefined method stdClass::upload() en el foro de PHP en Foros del Web. Buena, estoy usando un script para subir archivos, pero me salta el siguiente error: Cita: Fatal error: Call to undefined method stdClass::upload() in D:\xampp\htdocs\ampa\admin\controladores\documento s\documentosController.php ...
  #1 (permalink)  
Antiguo 16/01/2010, 14:38
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 5 meses
Puntos: 43
Fatal error: Call to undefined method stdClass::upload()

Buena, estoy usando un script para subir archivos, pero me salta el siguiente error:
Cita:
Fatal error: Call to undefined method stdClass::upload() in D:\xampp\htdocs\ampa\admin\controladores\documento s\documentosController.php on line 134
el codigo que estoy usando dentro de mi controlador es:
Código PHP:
Ver original
  1. $subir = $this->Utilidades->Upload;
  2.                     $subir->upload_dir=$this->Config->get('images')."documentos/";
  3.                     $subir->extensions=array(".png",".gif",".jpg",".jpeg",".pdf",".doc",".docx",".xls",".txt");
  4.                     $subir->the_temp_file = $file['tmp_name'];
  5.                     $subir->the_file = $file['name'];
  6.                     $subir->http_error = $file['error'];
  7.                     $subir->replace = "y";
  8.                     $documento = $file['name'];
  9.                     print_r($subir);
  10. //aca salta el error                   
  11. if ($subir->upload($documento)) {
  12.                         $rutaDocumento = $subir->upload_dir.$subir->file_copy;
  13.                         $info = $subir->get_uploaded_file_info($rutaDocumento);
  14.                         $this->Mensajes->agregarMensaje(1,'El archivo se subio correctamente.','ok');
  15.                     }
  16.                     else {                     
  17.                         $error=1;
  18.                         $this->Mensajes->agregarMensaje(1,$subir->show_error_string(),'ok');
  19.                     }

la linea que dice:
Código PHP:
Ver original
  1. $subir = $this->Utilidades->Upload;
es así porque en mi controlador base es donde hago:
Código PHP:
Ver original
  1. $this->Upload = new file_upload();

lo más raro es que a este mismo código lo he usado de la siguiente manera en otros proyectos (no era mvc, sino modular) y funcionaba:
Código PHP:
Ver original
  1. $upload=new file_upload;
  2.                 $upload->upload_dir="../images/";
  3.                 $upload->extensions=array(".doc",".pdf");
  4.                 $upload->the_temp_file = $pdf['tmp_name'];
  5.                 //valido el nombre
  6.                 $nombre_pdf=validarNombreArchivo(strtolower($pdf['name']));
  7.                 $upload->the_file = "cursos_".$nombre_pdf;
  8.                 $upload->http_error = $pdf['error'];
  9.                 $upload->replace = "y";
  10.                 $new_pdf=$pdf['name'];
  11.                 if ($upload->upload($new_pdf)) { // new name is an additional filename information, use this to rename the uploaded file
  12.                     $ruta_pdf = $upload->upload_dir.$upload->file_copy;
  13.                     $info = $upload->get_uploaded_file_info($ruta_pdf);

en que le estoy errando?
  #2 (permalink)  
Antiguo 16/01/2010, 15:29
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Fatal error: Call to undefined method stdClass::upload()

en lugar de print_r() utiliza var_dump()

¿que te arroja??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 16/01/2010, 16:18
 
Fecha de Ingreso: enero-2010
Ubicación: México
Mensajes: 22
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Fatal error: Call to undefined method stdClass::upload()

mm.. bueno, prueba esto, con el &:
Código PHP:
<?
$subir 
= &$this->Utilidades->Upload;
?>
Francamente no recuerdo si se podian "copiar" instancias, me parece que no.

saludos
  #4 (permalink)  
Antiguo 16/01/2010, 18:26
Avatar de newboy_master  
Fecha de Ingreso: enero-2008
Ubicación: Granada
Mensajes: 882
Antigüedad: 16 años, 2 meses
Puntos: 46
Respuesta: Fatal error: Call to undefined method stdClass::upload()

No creo que sea, pero por probar que no quede, en el código del controlador llamas a la función "upload()" con minúscula, y luego la pones declarada con la primera letra mayúscula.

Salu2.
__________________
@jslirola - Programador Web Freelance.
  #5 (permalink)  
Antiguo 16/01/2010, 20:42
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 5 meses
Puntos: 43
Respuesta: Fatal error: Call to undefined method stdClass::upload()

Solucionado, lo que hice fue sacarlo de la clase utilidades, cree una clase upload y desde mi controlador base creo la instancia, ahora todos los controladores que son heredados del principal tiene este método para usar.
Gracias por la ayuda.

Etiquetas: call, fatal, method, undefined
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 11:18.