Foros del Web » Programando para Internet » PHP »

Problema simple con code igniter, es urgente

Estas en el tema de Problema simple con code igniter, es urgente en el foro de PHP en Foros del Web. Saludos, Estoy desarrollando una aplicación con Code Igniter, en la cuál tengo un formulario para dar de alta una serie de datos. La mayor parte ...
  #1 (permalink)  
Antiguo 04/08/2010, 12:17
 
Fecha de Ingreso: julio-2009
Mensajes: 6
Antigüedad: 10 años, 4 meses
Puntos: 0
Problema simple con code igniter, es urgente

Saludos,

Estoy desarrollando una aplicación con Code Igniter, en la cuál tengo un formulario para dar de alta una serie de datos. La mayor parte de los campos del formulario lo forman campos de textos y cuadros combinados (selects).

Uno de los campos (que es opcional, no obligatorio) es para la subida de una imagen. El problema que tengo es que cuando relleno los campos del formulario y no incluyo imagen adjunta, al ejecutarse el código del controlador, cuando llega a la parte del código relativo a la subida de la imagen adjunta, aparecen errores del tipo "No se encontró el fichero a subir".

No encuentro la forma de incluir alguna sentencia que permita ejecutar ese codigo UNICAMENTE si la imagen se ha adjuntado.

He probado a poner instrucciones del tipo:

if(!is_null($this->input->post('nombre_campo')))
{
// Codigo para la subida de la imagen
}

pero lo ignora completamente y siempre entra en el código para subida de la imagen, con la consiguiente aparición de los mensajes de error.

Alguien sabe qué sentencia poner para saber si se ha enviado algo por el campo de subida de imagen o no? Para la implementación del campo de subida de ficheros del formulario, he empleado tanto la etiqueta <input type="file"...> como el código facilitado por Code Igniter para estos casos (form_upload), pero en ambos casos obtengo el mismo resultado negativo...

Me urge mucho solucionar este problema si es posible, pues tengo que ultimar el proyecto antes de finales de esta semana.

Muchas gracias por vuestra colaboración de antemano.
Saludos cordiales.
  #2 (permalink)  
Antiguo 04/08/2010, 22:29
 
Fecha de Ingreso: julio-2010
Mensajes: 5
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Problema simple con code igniter, es urgente

No se realmente con code que metodos se implementan (Ver el API) para el control en este caso, pero generalmente validar en el cliente con un java script puede ser una medida inicial.
Para validar en el server por que no utilizar el atributo del tamaño, extension, no solo el nombre del campo, pues en principio siempre se crea un archivo temporal durante el proceso de upload y de hay puedes tomar varios atributos para el control de flujo que estas buscando, esto es algo que se me ocurre de primera mano.
Este codigo es del manual de php, puede ser de utilidad para ilustrar algo.

Código PHP:
Ver original
  1. <?php
  2. // Nueva variable para archivos  $_FILES.
  3.  
  4. $uploaddir = '/dirUpload';
  5. $uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
  6.  
  7. echo '<pre>';
  8. if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
  9.     echo "Archivo valido, cargado exitosamente.\n";
  10. } else {
  11.     echo "Archivo no cargado!\n";
  12. }
  13.  
  14. echo 'Información de ejecucion:';
  15. print_r($_FILES);
  16.  
  17. print "</pre>";
  18. //Fuente --- http://co.php.net/manual/es/features.file-upload.post-method.php
  19. ?>

-------------------
www.offisum.com
  #3 (permalink)  
Antiguo 05/08/2010, 02:24
 
Fecha de Ingreso: julio-2009
Mensajes: 6
Antigüedad: 10 años, 4 meses
Puntos: 0
Respuesta: Problema simple con code igniter, es urgente

Hola Mario,

Gracias por tu valiosa aportación, me ha sido de gran ayuda y he podido solventar el problema!

De nuevo gracias.

Un cordial saludo.

Etiquetas: codeigniter, simple
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 02:27.