Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/07/2011, 11:41
kenproxd
 
Fecha de Ingreso: agosto-2009
Mensajes: 349
Antigüedad: 15 años, 3 meses
Puntos: 8
Usar el mismo código para validar varios campos

Hola,

Mi problema es el siguiente: tengo 8 campos de imágenes que se activan al marcar el input habX. X representa el número de la foto. Ejemplo:

<input type='checkbox' name='habX' OnClick='..'>
<div id='foto_campoX'>
<input type='file' name='fotoX' />
</div>

Uso el siguiente código para validar estos campos:

Código PHP:
Ver original
  1. if($_POST['hab1'] == true) {
  2.        
  3.         if($_SESSION['foto1'] != '') {
  4.             if(strlen($_FILES['foto1']['name']) > 3) {
  5.                 $nombre_foto = strtolower($_FILES['foto1']['name']);
  6.                 $nombre_foto = str_replace(' ','_',$nombre_foto);
  7.                
  8.                 unlink("../".$_SESSION['foto1']."");
  9.                 move_uploaded_file($_FILES['foto1']['tmp_name'], "../images/pisos/$nombre_foto");
  10.                 $foto1 = "images/pisos/$nombre_foto";
  11.                
  12.                 $_SESSION['foto1'] = "images/pisos/$nombre_foto";
  13.                 $cant_fotos++;
  14.             } else {
  15.                 $foto1 = $_SESSION['foto1'];
  16.             }
  17.         } else {
  18.             if(is_uploaded_file($_FILES['foto1']['tmp_name'])) {
  19.                 $nombre_foto = strtolower($_FILES['foto1']['name']);
  20.                 $nombre_foto = str_replace(' ','_',$nombre_foto);
  21.                
  22.                 move_uploaded_file($_FILES['foto1']['tmp_name'], "../images/pisos/$nombre_foto");
  23.                 $foto1 = "images/pisos/$nombre_foto";
  24.                 $_SESSION['foto1'] = "images/pisos/$nombre_foto";
  25.                 $cant_fotos++;
  26.             } else {
  27.                 $foto1 = '';
  28.             }
  29.         }
  30.        
  31.     }

Funciona de maravilla pero el problema es que para validar los 8 campos tendría que escribir el mismo código 8 veces. Parece fácil copiar, pegar y cambiar el número pero esto va a hacer muy pesado mi archivo y es lo que no deseo.

Espero que puedan ayudarme.