• Viernes 8 de Noviembre de 2024, 14:23

Autor Tema:  Subir Varias Imágenes A Un Servidor  (Leído 1286 veces)

tuxie

  • Nuevo Miembro
  • *
  • Mensajes: 13
    • Ver Perfil
Subir Varias Imágenes A Un Servidor
« en: Lunes 13 de Septiembre de 2004, 19:42 »
0
Hola a todos. tengo la siguiente página en la que debo dar de alta varias imágenes que el usuario elija. la desarrollé de la siguiente forma:

Código: Text
  1.  
  2. <?
  3.     if ($enviar){
  4.     if (is_uploaded_file($HTTP_POST_FILES['img']['tmp_name'])){
  5.       if((($img_type!="image/pjpeg")&&($img_type!="image/jpeg")&&($img_type!="image/gif")&&($img_type!="image/bmp"))||($img_size >= 204800)){
  6.       echo "<table width=\"269\" border=\"0\" align=\"center\" cellpadding=\"4\" cellspacing=\"4\" id=\"AutoNumber1\" style=\"border-collapse: collapse\">
  7.         <tr>
  8.         <td align=\"center\">
  9.         Error! Debe revisar que el formato de la IMAGEN sea jpg, bmp o gif y que no sea más grande de 200k<br>
  10.         <a href=\"reg_prop.php?cont=$cont\"> Haga click aquí para regresar</a>
  11.         </td>
  12.         </tr>
  13.         </table>
  14.         <br>";
  15.      
  16.       }else{
  17.  
  18.      
  19.       $fechareg= date("Y-m-d");
  20.       $cliente=mysql_query("SELECT * FROM contacto WHERE secret='$cont'");
  21.       $cli=mysql_fetch_array($cliente);
  22.       $pro=mysql_query("SELECT * FROM propiedad WHERE dir='$dir' and col='$col'");
  23.       $existe=mysql_fetch_array($pro);
  24.       if($existe){
  25.         echo "<table width=\"269\" border=\"0\" align=\"center\" cellpadding=\"4\" cellspacing=\"4\" id=\"AutoNumber1\" style=\"border-collapse: collapse\">
  26.         <tr>
  27.         <td align=\"center\">
  28.         Error! La propiedad que quiere registrar ya existe. Los datos no se pueden duplicar<br>
  29.         <a href=\"reg_prop.php?cont=$cont\"> Haga click aquí para regresar</a>
  30.         </td>
  31.         </tr>
  32.         </table>
  33.         <br>";
  34.       }else{
  35.       if(($edo!=0)&&($edo1!="")){
  36.       echo "no puede llenar los dos campos de estado";
  37.       }else if(($edo==0)&&($edo1=="")){
  38.       echo "no puede dejar vacíos los 2 campos de estado";
  39.       }else if(($edo!=0)&&($edo1=="")){
  40.       //*****aqui se mueve la imagen a la carpeta fotos y se reemplaza el url en la BD
  41.         $imagen=str_replace(' ','_',$cont.$img_name);
  42.         $destino="fotos/".$imagen;
  43.         move_uploaded_file($HTTP_POST_FILES['img']['tmp_name'], $destino);
  44.       //aqui termina la operación
  45.           $sql=mysql_query("INSERT INTO propiedad (id_prop, id_cont, pais, edo, ciudad, dir, col, id_condicion, id_desc, extension, tiempo_con, gravamen, comentarios, precio, fecha_ini, pago, fecha_pago, vendida)
  46.  
  47.             VALUES ('','$cli[id_cont]','$pais','$edo','$ciudad','$dir','$col','$condicion','$descripcion','$ext','$anios','$gravamen','$coment','$precio','$fechareg','0','0','0')");
  48.         $propiedad=mysql_query("SELECT id_prop FROM propiedad WHERE id_cont='$cli[id_cont]' AND pais='$pais' AND edo='$edo' AND ciudad='$ciudad' AND dir='$dir' AND col='$col' AND id_condicion='$condicion' AND id_desc='$descripcion' AND extension='$ext' AND tiempo_con='$anios' AND precio='$precio' AND fecha_ini='$fechareg'");
  49.         $prop=mysql_fetch_row($propiedad);
  50.         $imag=mysql_query("INSERT INTO imagenes (id_img, id_prop, imagen) VALUES ('', '$prop[0]', '$imagen')");
  51.        
  52.       }else if(($edo==0)&&($edo1!="")){
  53.         $edonuevo=mysql_query("SELECT * FROM estado WHERE estado='$edo1'");
  54.         $resedo1=mysql_fetch_row($edonuevo);
  55.         if($resedo1){
  56.         echo "el estado que escribió ya existe en la base de datos";
  57.         }else{
  58.         $conpais=mysql_query("SELECT * FROM pais where id_pais='$pais'");
  59.         $respais=mysql_fetch_array($conpais);
  60.         $altaedo=mysql_query("INSERT INTO estado (id_estado, id_pais, estado) VALUES ('','$respais[id_pais]', '$edo1' )");
  61.         $conedo=mysql_query("SELECT * FROM estado WHERE estado='$edo1'");
  62.         $redo=mysql_fetch_array($conedo);
  63.         //*****aqui se mueve la imagen a la carpeta fotos y se reemplaza el url en la BD
  64.         $imagen=str_replace(' ','_',$cont.$img_name);
  65.         $destino="fotos/".$imagen;
  66.         move_uploaded_file($HTTP_POST_FILES['img']['tmp_name'], $destino);
  67.         //aqui termina la operación  
  68.         $sql=mysql_query("INSERT INTO propiedad (id_prop, id_cont, pais, edo, ciudad, dir, col, id_condicion, id_desc, extension, tiempo_con, gravamen, comentarios, precio, fecha_ini, pago, fecha_pago, vendida)
  69.  
  70.             VALUES ('', '$cli[id_cont]', '$pais', '$edo1', '$ciudad', '$dir', '$col', '$condicion', '$descripcion', '$ext', '$anios', '$gravamen', '$coment', '$precio', '$fechareg', '0', '0', '0')");
  71.         $propiedad=mysql_query("SELECT id_prop FROM propiedad WHERE id_cont='$cli[id_cont]' AND pais='$pais' AND edo='$edo' AND ciudad='$ciudad' AND dir='$dir' AND col='$col' AND id_condicion='$condicion' AND id_desc='$descripcion' AND extension='$ext' AND tiempo_con='$anios' AND precio='$precio' AND fecha_ini='$fechareg'");
  72.         $prop=mysql_fetch_row($propiedad);
  73.         $imag=mysql_query("INSERT INTO imagenes (id_img, id_prop, imagen) VALUES ('', '$prop[0]', '$imagen')");
  74.     }//end else si edo1 no está repetido en la BD
  75.     }//end else si edo1 no esta vacío
  76.       echo "<table width=\"269\" border=\"0\" align=\"center\" cellpadding=\"4\" cellspacing=\"4\" id=\"AutoNumber1\" style=\"border-collapse: collapse\">
  77.       <tr>
  78.       <td align=\"center\">
  79.       Su inmueble ha sido dado de Alta!!!<br>
  80.       <a href=\"index2.php\"> Haga click aquí para continuar...</a>
  81.       </td>
  82.       </tr>
  83.       </table>
  84.       <br>";
  85.     //}
  86.     //}
  87.     }//end else la imagen es valida  
  88.     }//end if sube imagen
  89.     }//end else si los datos de la propiedad no existen  
  90.     else{
  91.       $fechareg= date("Y-m-d");
  92.       $cliente=mysql_query("SELECT * FROM contacto WHERE secret='$cont'");
  93.       $cli=mysql_fetch_array($cliente);
  94.       $pro=mysql_query("SELECT * FROM propiedad WHERE dir='$dir' and col='$col'");
  95.       $existe=mysql_fetch_array($pro);
  96.       if($existe){
  97.         echo "<table width=\"269\" border=\"0\" align=\"center\" cellpadding=\"4\" cellspacing=\"4\" id=\"AutoNumber1\" style=\"border-collapse: collapse\">
  98.         <tr>
  99.         <td align=\"center\">
  100.         Error! La propiedad que quiere registrar ya existe. Los datos no se pueden duplicar<br>
  101.         <a href=\"reg_prop.php?cont=$cont\"> Haga click aquí para regresar</a>
  102.         </td>
  103.         </tr>
  104.         </table>
  105.         <br>";
  106.       }else{
  107.       if(($edo!=0)&&($edo1!="")){
  108.       echo "no puede llenar los dos campos de estado";
  109.       }else if(($edo==0)&&($edo1=="")){
  110.       echo "no puede dejar vacíos los 2 campos de estado";
  111.       }else if(($edo!=0)&&($edo1=="")){
  112.      
  113.           $sql=mysql_query("INSERT INTO propiedad (id_prop, id_cont, pais, edo, ciudad, dir, col, id_condicion, id_desc, extension, tiempo_con, gravamen, comentarios, precio, fecha_ini, pago, fecha_pago, vendida)
  114.  
  115.             VALUES ('','$cli[id_cont]','$pais','$edo','$ciudad','$dir','$col','$condicion','$descripcion','$ext','$anios','$gravamen','$coment','$precio','$fechareg','0','0','0')");
  116.         $propiedad=mysql_query("SELECT id_prop FROM propiedad WHERE id_cont='$cli[id_cont]' AND pais='$pais' AND edo='$edo' AND ciudad='$ciudad' AND dir='$dir' AND col='$col' AND id_condicion='$condicion' AND id_desc='$descripcion' AND extension='$ext' AND tiempo_con='$anios' AND precio='$precio' AND fecha_ini='$fechareg'");
  117.         $prop=mysql_fetch_row($propiedad);
  118.         //$imag=mysql_query("INSERT INTO imagenes (id_img, id_prop, imagen) VALUES ('', '$prop[0]', '$imagen')");
  119.        
  120.       }else if(($edo==0)&&($edo1!="")){
  121.         $edonuevo=mysql_query("SELECT * FROM estado WHERE estado='$edo1'");
  122.         $resedo1=mysql_fetch_row($edonuevo);
  123.         if($resedo1){
  124.         echo "el estado que escribió ya existe en la base de datos";
  125.         }else{
  126.         $conpais=mysql_query("SELECT * FROM pais where id_pais='$pais'");
  127.         $respais=mysql_fetch_array($conpais);
  128.         $altaedo=mysql_query("INSERT INTO estado (id_estado, id_pais, estado) VALUES ('','$respais[id_pais]', '$edo1' )");
  129.         $conedo=mysql_query("SELECT * FROM estado WHERE estado='$edo1'");
  130.         $redo=mysql_fetch_array($conedo);
  131.        
  132.         $sql=mysql_query("INSERT INTO propiedad (id_prop, id_cont, pais, edo, ciudad, dir, col, id_condicion, id_desc, extension, tiempo_con, gravamen, comentarios, precio, fecha_ini, pago, fecha_pago, vendida)
  133.  
  134.             VALUES ('', '$cli[id_cont]', '$pais', '$edo1', '$ciudad', '$dir', '$col', '$condicion', '$descripcion', '$ext', '$anios', '$gravamen', '$coment', '$precio', '$fechareg', '0', '0', '0')");
  135.         $propiedad=mysql_query("SELECT id_prop FROM propiedad WHERE id_cont='$cli[id_cont]' AND pais='$pais' AND edo='$edo' AND ciudad='$ciudad' AND dir='$dir' AND col='$col' AND id_condicion='$condicion' AND id_desc='$descripcion' AND extension='$ext' AND tiempo_con='$anios' AND precio='$precio' AND fecha_ini='$fechareg'");
  136.         $prop=mysql_fetch_row($propiedad);
  137.         //$imag=mysql_query("INSERT INTO imagenes (id_img, id_prop, imagen) VALUES ('', '$prop[0]', '$imagen')");
  138.     }//end else si edo1 no está repetido en la BD
  139.     }//end else si edo1 no esta vacío
  140.       echo "<table width=\"269\" border=\"0\" align=\"center\" cellpadding=\"4\" cellspacing=\"4\" id=\"AutoNumber1\" style=\"border-collapse: collapse\">
  141.       <tr>
  142.       <td align=\"center\">
  143.       Su inmueble ha sido dado de Alta!!!<br>
  144.       <a href=\"index2.php\"> Haga click aquí para continuar...</a>
  145.       </td>
  146.       </tr>
  147.       </table>
  148.       <br>";
  149.     //}
  150.     //}
  151.     }//end else la imagen es valida  
  152.     }//end if sube imagen
  153.    
  154.    
  155.     }else{
  156.     ?>
  157.         <table width="53%"  border="0" align="center">
  158.           <tr>
  159.             <td><div align="center"><strong>PASO 2. REGISTRO DE INMUEBLE </strong></div></td>
  160.           </tr>
  161.         </table>          
  162.         <form name="formpro" method="post" action="reg_prop.php?cont=<? echo $cont?>" onSubmit="return verificar()" enctype="multipart/form-data">
  163.             <table border="0" cellpadding="2" style="border-collapse: collapse" id="AutoNumber2">
  164.               <tr>
  165.                 <td width="145" rowspan="33" valign="top"> <img border="0" src="images/agentes.gif" width="145" height="150"></td>
  166.                 <td colspan="2"><b>Los datos marcados con * son obligatorios</b></td>
  167.               </tr>
  168.               <tr>
  169.                 <td valign="top" colspan="2" class="mediando"><div align="center"><span lang="es"> Descripción del </span>Inmueble</div></td>
  170.               </tr>
  171.               <tr>
  172.                 <td width="96" valign="top"><span lang="es">Condición:</span></td>
  173.                 <td width="228" valign="top"><select name="condicion">
  174.                     <option selected value="0">Seleccione</option>
  175.                     <?  
  176.           $con=mysql_query("select * from condicion");
  177.           $co=mysql_fetch_array($con);
  178.           while($co){
  179.          ?>
  180.          <option value="<? echo $co[id];?>"><? echo $co[condicion];?></option>
  181.         <? $co=mysql_fetch_array($con);
  182.            }//while
  183.         ?>
  184.                   </select>
  185.                     <span lang="es">*</span></td>
  186.               </tr>
  187.               <tr>
  188.                 <td valign="top"><span lang="es">Descripción:</span></td>
  189.                 <td valign="top">
  190.                   <select name="descripcion">
  191.                     <option selected value="0">Seleccione</option>
  192.                      <?  
  193.           $des1=mysql_query("select * from descripcion");
  194.           $des=mysql_fetch_array($des1);
  195.           while($des){
  196.          ?>
  197.          <option value="<? echo $des[id_desc];?>"><? echo $des[descripcion];?></option>
  198.         <? $des=mysql_fetch_array($des1);
  199.            }//while
  200.         ?>
  201.                   </select>
  202.                   <span lang="es">*</span></td>
  203.               </tr>
  204.               <tr>
  205.                 <td valign="top">Extensión (mt2):</td>
  206.                 <td valign="top"><input id="ext" maxlength="9" size="25" name="ext">
  207.                     <span lang="es">*</span></td>
  208.               </tr>
  209.               <tr>
  210.                 <td valign="top">Años de construcción : </td>
  211.                 <td valign="top"><input id="anios" maxlength="3" size="25" name="anios">
  212.                     <span lang="es">*</span></td>
  213.               </tr>
  214.               <tr>
  215.                 <td valign="top">Su propiedad tiene gravamen?</td>
  216.                 <td valign="top"><select name="gravamen">
  217.                     <option value="0" selected>no</option>
  218.                     <option value="1">si</option>
  219.                 </select></td>
  220.               </tr>
  221.               <tr>
  222.                 <td valign="top"><span lang="es">Comentarios (si su inmueble cuenta con agua, luz, gas, alberca, gimnasio, etc.):</span></td>
  223.                 <td valign="top"> <span lang="es">
  224.                   <textarea name="coment" rows="3" cols="35"></textarea>
  225.                 </span></td>
  226.               </tr>
  227.               <tr>
  228.                 <td valign="top"><span lang="es">País:</span></td>
  229.                 <td valign="top">
  230.                   <select name="pais" onChange="OnChange()">
  231.                     <option value="0" selected>seleccione</option>
  232.                     <?  
  233.           $pai=mysql_query("select * from pais");
  234.           $pa=mysql_fetch_array($pai);
  235.           while($pa){
  236.          ?>
  237.          <option value="<? echo $pa[id_pais];?>"><? echo $pa[pais];?></option>
  238.         <? $pa=mysql_fetch_array($pai);
  239.            }//while
  240.         ?>
  241.                   </select>
  242.                   <span lang="es">*</span></td>
  243.               </tr>
  244.               <tr>
  245.                 <td valign="top"><span lang="es">Estado/Provincia:</span></td>
  246.                 <td valign="top"> <font face="verdana" size="1">
  247.                   <select name="edo" onChange="deshabilita()">
  248.                     <option value="0" selected>Seleccione</option>
  249.                     </select>
  250.                   <span lang="es">*</span></font></td>
  251.               </tr>
  252.               <tr>
  253.                 <td valign="top">Provincia (si no se encuentra en la lista de arriba) :</td>
  254.                 <td valign="top"><br>
  255.                   <font face="verdana" size="1">
  256.                   <input id="edo1" maxlength="40" size="25" name="edo1">
  257.                   </font></td>
  258.               </tr>
  259.               <tr>
  260.                 <td valign="top"><span lang="es">Ciudad:</span></td>
  261.                 <td valign="top"> <font face="verdana" size="1">
  262.                   <input id="ciudad" maxlength="40" size="25" name="ciudad">
  263.                   <span lang="es">*</span></font></td>
  264.               </tr>
  265.               <tr>
  266.                 <td valign="top"><span lang="es">Dirección:</span></td>
  267.                 <td valign="top"><font face="verdana" size="1">
  268.                   <input id="dir" maxlength="50" size="25" name="dir">
  269.                   <span lang="es">*</span></font></td>
  270.               </tr>
  271.               <tr>
  272.                 <td valign="top">Colonia:</td>
  273.                 <td valign="top"> <font face="verdana" size="1">
  274.                   <input id="col" maxlength="20" size="25" name="col">
  275.                   <span lang="es">*</span>
  276.                   </font></td>
  277.               </tr>
  278.               <tr>
  279.                 <td valign="top">Precio:$</td>
  280.                 <td valign="top"><input id="precio" maxlength="15" size="25" name="precio">
  281.                     <span lang="es">*</span></td>
  282.               </tr>
  283.               <tr>
  284.                 <td colspan="2" valign="top" class="mediando"><div align="center"><span lang="es">Fotos del inmueble (opcionales) </span></div></td>
  285.               </tr>
  286.               <tr>
  287.                 <td valign="top">imagen1</td>
  288.                 <td valign="top"><p>
  289.                   <input id="img" type="file" name="img" size="20">
  290. </p>
  291.                   </td>
  292.               </tr>
  293.               <tr>
  294.                 <td valign="top">imagen2</td>
  295.                 <td valign="top"><input id="img2" type="file" name="img2" size="20"></td>
  296.               </tr>
  297.               <tr>
  298.                 <td valign="top">imagen3</td>
  299.                 <td valign="top"><input id="img3" type="file" name="img3" size="20"></td>
  300.               </tr>
  301.               <tr>
  302.                 <td valign="top">imagen4</td>
  303.                 <td valign="top"><input id="img4" type="file" name="img4" size="20"></td>
  304.               </tr>
  305.               <tr>
  306.                 <td valign="top">imagen5</td>
  307.                 <td valign="top"><input id="img5" type="file" name="img5" size="20"></td>
  308.               </tr>
  309.               <tr>
  310.                 <td valign="top">imagen6</td>
  311.                 <td valign="top"><input id="img6" type="file" name="img6" size="20"></td>
  312.               </tr>
  313.               <tr>
  314.                 <td valign="top">imagen7</td>
  315.                 <td valign="top"><input id="img7" type="file" name="img7" size="20"></td>
  316.               </tr>
  317.               <tr>
  318.                 <td valign="top">imagen8</td>
  319.                 <td valign="top"><input id="img8" type="file" name="img8" size="20"></td>
  320.               </tr>
  321.               <tr>
  322.                 <td valign="top">imagen9</td>
  323.                 <td valign="top"><input id="img9" type="file" name="img9" size="20"></td>
  324.               </tr>
  325.               <tr>
  326.                 <td valign="top">imagen10</td>
  327.                 <td valign="top"><input id="img10" type="file" name="img10" size="20"></td>
  328.               </tr>
  329.               <tr>
  330.                 <td valign="top">imagen11...</td>
  331.                 <td valign="top"><input id="img11" type="file" name="img11" size="20"></td>
  332.               </tr>
  333.               <tr>
  334.                 <td valign="top"> </td>
  335.                 <td valign="top"> </td>
  336.               </tr>
  337.               <tr>
  338.                 <td valign="top"> </td>
  339.                 <td valign="top"> </td>
  340.               </tr>
  341.  
  342.                 <tr>
  343.                   <td valign="top" colspan="3"><div align="center"><span class="Estilo1">nota: las imagenes deben ser de 200k c/u como máximo</span></div></td>
  344.                 </tr>
  345.                 <td valign="top" colspan="3">
  346.                   <p align="center"> <a href="#"> </a>
  347.                     <input name="enviar" type="submit" id="enviar" value="Enviar">
  348.                   </td>
  349.                 </tr>
  350.             </table>
  351.           </form>
  352. <?
  353. }//end else if enviar
  354. ?>
  355.         </center>
  356.       </div>
  357.  
  358.  
  359.  

Como ven, ya validé el código para que la primera imagen se guarde y lo inserté con un if por que se supone que la inserción de imágenes debe ser opcional, o sea que el usuario puede subir 3 de las 11 imágenes que deben ser, o ninguna o todas y el sistema debe guardar el registro. El problema es que necesito que me ayuden a validar las otras diez imágenes sin necesidad de escribir tantas líneas, por que si lo hago con puros if 's, creo que no voy a acabar. bueno...les agradezco mucho su atención y su ayuda. hasta luego. :hola:
el teclado puede llegar a ser mas poderoso que la espada