Foros del Web » Programando para Internet » PHP »

Cómo subir texto y varias imágenes a la vez...?

Estas en el tema de Cómo subir texto y varias imágenes a la vez...? en el foro de PHP en Foros del Web. Hola. La idea es un formulario para bienes raices en donde se ingrese todo el texto descriptivo del inmueble y a su vez un numero ...
  #1 (permalink)  
Antiguo 31/10/2007, 19:01
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 21 años, 5 meses
Puntos: 0
Cómo subir texto y varias imágenes a la vez...? YA CASI RESUELTO!!!

Hola.

La idea es un formulario para bienes raices en donde se ingrese todo el texto descriptivo del inmueble y a su vez un numero ilimitado de fotos. Esta parte ya esta dominada con el form y algo de javascript para los campos imput. El problema se presenta al querer procesar el formulario.

Primero la pregunta es: Recomiendan subir tanto el texto como las imágenes (blob) a la base de datos, o por el contrario, subir los textos (direccion, habitaciones, baños, parqueaderos, etc) a la base de datos y las imágenes a una carpeta (o carpetas) en el servidor.?

Si es subir todo a base de datos, manejo el subir texto y una (1) imagen como blob y todo funciona (codigo base de las FAQ del forto PHP) pero se me complica al querer modificarlo para que me procese varias imágenes a la vez.

Si es texto a la base de datos y las imágenes a carpeta (o carpetas), no tengo la menor idea de como "juntar" codigo de ingreso a base de datos (textos) con el codigo de upload de archivos a servidor (imágenes).

Me podrían dar una mano???

Gracias

Última edición por iarrieta; 01/11/2007 a las 21:10 Razón: Ya casi resuelto
  #2 (permalink)  
Antiguo 31/10/2007, 20:36
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 1 mes
Puntos: 17
Re: Cómo subir texto y varias imágenes a la vez...?

Subir los textos (direccion, habitaciones, baños, parqueaderos, etc) a la base de datos y las imágenes a una carpeta (o carpetas) en el servidor.

Lo que tenés que hacer es guardar en un campo de la base de datos la ruta de la imagen
  #3 (permalink)  
Antiguo 31/10/2007, 21:12
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 21 años, 5 meses
Puntos: 0
Re: Cómo subir texto y varias imágenes a la vez...?

Gracias Seppo, pero imagino entonces que ademas de la ruta de la imagen. debo guardar algo como el nomre de la imagen? sera el temporal? No estoy muy claro porque es la opcion que menos manejo.

Esperar otras opiniones a ver si logro aclarar.

Gracias
  #4 (permalink)  
Antiguo 31/10/2007, 21:19
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 9 meses
Puntos: 70
De acuerdo Re: Cómo subir texto y varias imágenes a la vez...?

Hola iarrieta, cómo vas??

Pues efectivamente es lo que dices, debes guardar en tu DB el nombre de la imagen y es con el temporal...

Te dejo un ejemplo:
Código PHP:
<?php
if(!(file_exists($_FILES['imagen']['name'])))
                    {
                        if(
move_uploaded_file($_FILES['imagen']['tmp_name'], "images_subidas/".$_FILES['imagen']['name']))
                        {
                            
$imag=$_FILES['imagen']['name'];                        
                        }
                        else
                        {
?>
                            <script language="javascript">
                                alert('Ha ocurrido un error al subir el archivo!!! Inténtelo de nuevo');
                            </script>
                            <META HTTP-EQUIV="Refresh" CONTENT="0; URL=noticias.php?acc=<?php echo encode_this("a")?>&tit=<?=$titu?>&nott=<?=$noti?>&autt=<?=$auto?>&obse=<?=$obse?>">
    <?php
                            
exit();
                        }
                    }
Espero te sirva!!
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #5 (permalink)  
Antiguo 31/10/2007, 21:21
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 21 años, 5 meses
Puntos: 0
Re: Cómo subir texto y varias imágenes a la vez...?

Vale Carxl, lo voy a probar a ver como va con lo que tengo. Gracias!
  #6 (permalink)  
Antiguo 31/10/2007, 21:38
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 21 años, 5 meses
Puntos: 0
Re: Cómo subir texto y varias imágenes a la vez...?

Nada, no le encontre la vuelta correcta... Sera mejor ir trabajando (sugerencias) sobre codigo real aqui en el post?
  #7 (permalink)  
Antiguo 31/10/2007, 21:49
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 9 meses
Puntos: 70
De acuerdo Re: Cómo subir texto y varias imágenes a la vez...?

Por qué dices que no puediste?? que error te arroja?? que pasa realmente??
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #8 (permalink)  
Antiguo 31/10/2007, 21:55
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 21 años, 5 meses
Puntos: 0
Re: Cómo subir texto y varias imágenes a la vez...?

Hola Carxl, lo que sucede es que el PHP y yo aun no somos muy buenos amigos...

Lo que me sugieres esta +/- entendible para mi si lo "anexo" al codigo que sube UNA imagen a servidor y los datos a base de datos (codigo que esta en pleno proceso de desarrollo, nada final aun) PERO, se me complica porque todavia no logro enteder como juntar:

Imagen a carpeta servidor
No es solo una imagen sino hasta 12
Datos de texto a base de datos + $imag (nombre de imagen)

*Aun dudo entender si incluye o no la ruta de imagen en la base de datos o solo el nombre...

Eso es!
  #9 (permalink)  
Antiguo 31/10/2007, 21:59
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 21 años, 5 meses
Puntos: 0
Re: Cómo subir texto y varias imágenes a la vez...?

Y es que en este proyecto me meti con 3 de las 4 cosas que nunca he logrado comprender bien (nunca en el poco tiempo "tratando" con PHP)

1. Buscador con multiples opciones (para inmobiliaria o bienes raices)
2. Formulario para subir datos de texto y multiples imagenes
3. Boletín de noticias para que le llegue al suscriptor los ultimos 5 inmuebles

La 4ª que no me toco en este proyecto pero la comento es la de las benditas sesiones para logeo... terribles!
  #10 (permalink)  
Antiguo 01/11/2007, 08:02
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 9 meses
Puntos: 70
De acuerdo Re: Cómo subir texto y varias imágenes a la vez...?

Ok iarrieta!! Vamos por partes

Vamos primero con lo de solucionar el upload de imágenes vale?? Después miramos lo otro...

En cuanto al upload, te recomiendo que leas sobre las dos instrucciones del código en el manual de php:

Código:
file_exists
move_uploaded_file
De esa manera entenderás el proceso... Ves que hago lo siguiente??:
Código PHP:
//Si subió el archivo correcamente, pues me llevo el nombre del archivo y lo guardo en una variable llamada $imag, que es la que utilizo en el query del insert
$imag=$_FILES['imagen']['name']; 
Sobre si es necesario guardar la ruta de la imagen , debería ser suficiente solo con guardar el nombre de la imagen... pero si quieres, sólo si quieres puedes guardar la ruta y la imagen en un mismo campo. Eso es cuestión de necesidad y gusto

Espero me hayas entendido...

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #11 (permalink)  
Antiguo 01/11/2007, 11:26
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 21 años, 5 meses
Puntos: 0
Re: Cómo subir texto y varias imágenes a la vez...?

Lo entiendo perfectamente, el asunto que no he logrado definir es que con mis conocimientos tengo un campo en el form llamado "archivo" que, al ir al codigo que procesa la subida, sea por BD o Carpeta, se mantiene y crea un name temporal, la ruta, etc.

Cuando trato de usar el sistema con varios campos imput, se me complica el codigo de procesamiento por lo de que ahora serian archivos"??? archivo[]?????

El rollo no es tanto subir El archivo y que me guarde su nombre en DB, sino que me lo haga con indefinidos archivos de imagen...

En cuanto a los otros 2 codigos, ya he ido avanzando algo. Solo cuando llegue a no podert avanzar mas les solicito algo de colaboracion. Gracias
  #12 (permalink)  
Antiguo 01/11/2007, 14:26
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 21 años, 5 meses
Puntos: 0
Re: Cómo subir texto y varias imágenes a la vez...?

Antes de hacer algunas pruebas, quisiera aclarar unas dudas y para ello les coloco los codigos.

Base de datos:

CREATE TABLE `propiedades` (
`id` int(11) NOT NULL auto_increment,
`contacto` varchar(250) NOT NULL default '',
`empresa` varchar(250) NOT NULL default '',
`direccion` varchar(250) NOT NULL default '',
`telefono` varchar(150) NOT NULL default '',
`movil` varchar(150) NOT NULL default '',
`email` varchar(250) NOT NULL default '',
`zona` varchar(150) NOT NULL default '',
`ubicacion` varchar(250) NOT NULL default '',
`edad` varchar(50) NOT NULL default '',
`metros` varchar(50) NOT NULL default '',
`alcobas` varchar(50) NOT NULL default '',
`banos` varchar(50) NOT NULL default '',
`parqueaderos` varchar(50) NOT NULL default '',
`estrato` varchar(50) NOT NULL default '',
`lineas` varchar(50) NOT NULL default '',
`tv` varchar(50) NOT NULL default '',
`info` mediumtext NOT NULL,
`cerrado` varchar(50) NOT NULL default '',
`vigilancia` varchar(50) NOT NULL default '',
`cubierto` varchar(50) NOT NULL default '',
`visitantes` varchar(50) NOT NULL default '',
`comunes` varchar(50) NOT NULL default '',
`ninos` varchar(50) NOT NULL default '',
`verdes` varchar(50) NOT NULL default '',
`principal` varchar(50) NOT NULL default '',
`colegios` varchar(50) NOT NULL default '',
`transporte` varchar(50) NOT NULL default '',
`negocio` varchar(150) NOT NULL default '',
`inmueble` varchar(150) NOT NULL default '',
`precio` varchar(150) NOT NULL default '',
`intro` mediumtext NOT NULL,
`descripcion` longtext NOT NULL,
`imag` varchar(150) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


continua...
  #13 (permalink)  
Antiguo 01/11/2007, 14:29
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 21 años, 5 meses
Puntos: 0
Re: Cómo subir texto y varias imágenes a la vez...?

Formulario:

Código HTML:
<script language="JavaScript">
<!--
var upload_number = 2;
function addFileInput() {
var d = document.createElement("div");
var file = document.createElement("input");
file.setAttribute("type", "file");
file.setAttribute("name", "image[]"+upload_number);
d.appendChild(file);
document.getElementById("moreUploads").appendChild(d);
upload_number++;
}
function setBlock() {
document.getElementById('moreLink').style.display = 'block';
}

//-->
</script>

<form id="propiedades" name="propiedades" method="post" enctype="multipart/form-data" action="ingresar_propiedad.php">
        <table width="500" border="0" align="center">
          <tr>
            <td colspan="5"><div align="left" class="titulo_index">DATOS DE LA INMOBILIARIA / VENDEDOR</div></td>
            </tr>
          <tr>
            <td colspan="2">&nbsp;</td>
            <td width="19">&nbsp;</td>
            <td colspan="2">&nbsp;</td>
          </tr>
          <tr>
            <td colspan="2"><div align="left">Nombre de Contacto</div></td>
            <td>&nbsp;</td>
            <td colspan="2"><div align="left">
              <input name="contacto" type="text" id="contacto" size="40" />
            </div></td>
          </tr>
          <tr>
            <td colspan="2"><div align="left">Nombre de Empresa</div></td>
            <td>&nbsp;</td>
            <td colspan="2"><div align="left">
              <input name="empresa" type="text" id="empresa" size="40" />
            </div></td>
          </tr>
          <tr>
            <td colspan="2"><div align="left">Direcci&oacute;n de Ubicaci&oacute;n</div></td>
            <td>&nbsp;</td>
            <td colspan="2"><div align="left">
              <input name="direccion" type="text" id="direccion" size="50" />
            </div></td>
          </tr>
          <tr>
            <td colspan="2"><div align="left">Tel&eacute;fono Principal</div></td>
            <td>&nbsp;</td>
            <td colspan="2"><div align="left">
              <input name="telefono" type="text" id="telefono" size="25" />
            </div></td>
          </tr>
          <tr>
            <td colspan="2"><div align="left">Tel&eacute;fono M&oacute;vil</div></td>
            <td>&nbsp;</td>
            <td colspan="2"><div align="left">
              <input name="movil" type="text" id="movil" size="25" />
            </div></td>
          </tr>
          <tr>
            <td colspan="2"><div align="left">Correo Electr&oacute;nico</div></td>
            <td>&nbsp;</td>
            <td colspan="2"><div align="left">
              <input name="email" type="text" id="email" size="40" />
            </div></td>
          </tr>
          <tr>
            <td colspan="2">&nbsp;</td>
            <td>&nbsp;</td>
            <td colspan="2">&nbsp;</td>
          </tr>
          <tr>
            <td colspan="2">&nbsp;</td>
            <td>&nbsp;</td>
            <td colspan="2">&nbsp;</td>
          </tr>
          <tr>
            <td colspan="5"><div align="left" class="titulo_index">UBICACION DEL INMUEBLE</div></td>
            </tr>
          <tr>
            <td colspan="2">&nbsp;</td>
            <td>&nbsp;</td>
            <td colspan="2">&nbsp;</td>
          </tr>
          <tr>
            <td colspan="2"><div align="left">Zona dentro de Bogot&aacute;</div></td>
            <td>&nbsp;</td>
            <td colspan="2"><div align="left">
              <select name="zona" id="zona">
                <option value="Null" selected="selected">Seleccione un sector</option>
                <option value="Null">------------------------------</option>
                <option value="Centro">Centro</option>
                <option value="Chapinero">Chapinero</option>
                <option value="Noroccidente">Noroccidente</option>
                <option value="Norte">Norte</option>
                <option value="Occidente">Occidente</option>
                <option value="Sur">Sur</option>
                <option value="Otras">Otras zonas</option>
              </select>
            </div></td>
          </tr>
          <tr>
            <td colspan="2"><div align="left">Direcci&oacute;n de Ubicaci&oacute;n</div></td>
            <td>&nbsp;</td>
            <td colspan="2"><div align="left">
              <input name="ubicacion" type="text" id="ubicacion" size="50" />
            </div></td>
          </tr>
          <tr>
            <td colspan="2">&nbsp;</td>
            <td>&nbsp;</td>
            <td colspan="2">&nbsp;</td>
          </tr>
          <tr>
            <td colspan="2">&nbsp;</td>
            <td>&nbsp;</td>
            <td colspan="2">&nbsp;</td>
          </tr>
          <tr>
            <td colspan="5"><div align="left"><span class="titulo_index">CARACTERISTICAS DEL INMUEBLE</span></div></td>
            </tr>
          <tr>
            <td colspan="2">&nbsp;</td>
            <td>&nbsp;</td>
            <td colspan="2">&nbsp;</td>
          </tr>
          <tr>
            <td width="125"><div align="left">Edad de la propiedad</div></td>
            <td width="37"><div align="left">
              <input name="edad" type="text" id="edad" size="5" />
            </div></td>
            <td>&nbsp;</td>
            <td width="150"><div align="left">Tama&ntilde;o en metros cuadrados</div></td>
            <td width="147"><div align="left">
              <input name="metros" type="text" id="metros" size="5" />
            </div></td>
          </tr>
          <tr>
            <td><div align="left">Cantidad de alcobas</div></td>
            <td><div align="left">
              <input name="alcobas" type="text" id="alcobas" size="5" />
            </div></td>
            <td>&nbsp;</td>
            <td><div align="left">Cantidad de ba&ntilde;os</div></td>
            <td><div align="left">
              <input name="banos" type="text" id="banos" size="5" />
            </div></td>
          </tr>
          <tr>
            <td><div align="left">No. de parqueaderos</div></td>
            <td><div align="left">
              <input name="parqueaderos" type="text" id="parqueaderos" size="5" />
            </div></td>
            <td>&nbsp;</td>
            <td><div align="left">Estrato de la propiedad</div></td>
            <td><div align="left">
              <input name="estrato" type="text" id="estrato" size="5" />
            </div></td>
          </tr>
          <tr>
            <td><div align="left">No. de l&iacute;neas telef&oacute;nicas</div></td>
            <td><div align="left">
              <input name="lineas" type="text" id="lineas" size="5" />
            </div></td>
            <td>&nbsp;</td>
            <td><div align="left">Sistema de Cable TV?</div></td>
            <td><div align="left">
              <input name="tv" type="text" id="tv" size="5" />
            </div></td>
          </tr>
          <tr>
            <td colspan="2">&nbsp;</td>
            <td>&nbsp;</td>
            <td colspan="2">&nbsp;</td>
          </tr>
          <tr>
            <td colspan="2"><div align="left">Informaci&oacute;n adicional</div></td>
            <td>&nbsp;</td>
            <td colspan="2">&nbsp;</td>
          </tr>
          <tr>
            <td colspan="5"><div align="left">
              <textarea name="info" id="info" cols="50" rows="3"></textarea>
            </div></td>
            </tr>
          <tr>
            <td colspan="2">&nbsp;</td>
            <td>&nbsp;</td>
            <td colspan="2">&nbsp;</td>
          </tr>
          <tr>
            <td colspan="2">&nbsp;</td>
            <td>&nbsp;</td>
            <td colspan="2">&nbsp;</td>
          </tr> 

continua...
  #14 (permalink)  
Antiguo 01/11/2007, 14:30
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 21 años, 5 meses
Puntos: 0
Re: Cómo subir texto y varias imágenes a la vez...?

Código HTML:
<tr>
            <td colspan="5"><div align="left"><span class="titulo_index">EXTRAS</span></div></td>
            </tr>
          <tr>
            <td colspan="2">&nbsp;</td>
            <td>&nbsp;</td>
            <td colspan="2">&nbsp;</td>
          </tr>
          <tr>
            <td><div align="left">Conjunto cerrado</div></td>
            <td><div align="left">
              <input name="cerrado" type="text" id="cerrado" size="5" />
            </div></td>
            <td>&nbsp;</td>
            <td><div align="left">Vigilancia 24 Hrs.</div></td>
            <td><div align="left">
              <input name="vigilancia" type="text" id="vigilancia" size="5" />
            </div></td>
          </tr>
          <tr>
            <td><div align="left">Parqueadero cubierto</div></td>
            <td><div align="left">
              <input name="cubierto" type="text" id="cubierto" size="5" />
            </div></td>
            <td>&nbsp;</td>
            <td><div align="left">Parqueadero para visitantes</div></td>
            <td><div align="left">
              <input name="visitantes" type="text" id="visitantes" size="5" />
            </div></td>
          </tr>
          <tr>
            <td><div align="left">Areas comunes</div></td>
            <td><div align="left">
              <input name="comunes" type="text" id="comunes" size="5" />
            </div></td>
            <td>&nbsp;</td>
            <td><div align="left">Zona para ni&ntilde;os</div></td>
            <td><div align="left">
              <input name="ninos" type="text" id="ninos" size="5" />
            </div></td>
          </tr>
          <tr>
            <td><div align="left">Areas verdes</div></td>
            <td><div align="left">
              <input name="verdes" type="text" id="verdes" size="5" />
            </div></td>
            <td>&nbsp;</td>
            <td><div align="left">Cercano a v&iacute;a principal</div></td>
            <td><div align="left">
              <input name="principal" type="text" id="principal" size="5" />
            </div></td>
          </tr>
          <tr>
            <td><div align="left">Cercano a colegios</div></td>
            <td><input name="colegios" type="text" id="colegios" size="5" /></td>
            <td>&nbsp;</td>
            <td><div align="left">Facilidad de transporte</div></td>
            <td><div align="left">
              <input name="transporte" type="text" id="transporte" size="5" />
            </div></td>
          </tr>
          <tr>
            <td colspan="2">&nbsp;</td>
            <td>&nbsp;</td>
            <td colspan="2">&nbsp;</td>
          </tr>
          <tr>
            <td colspan="2">&nbsp;</td>
            <td>&nbsp;</td>
            <td colspan="2">&nbsp;</td>
          </tr>
          <tr>
            <td colspan="5"><div align="left"><span class="titulo_index">INFORMACION DE MERCADEO</span></div></td>
            </tr>
          <tr>
            <td colspan="2">&nbsp;</td>
            <td>&nbsp;</td>
            <td colspan="2">&nbsp;</td>
          </tr>
          <tr>
            <td colspan="2"><div align="left">Tipo de negocio</div></td>
            <td>&nbsp;</td>
            <td colspan="2"><div align="left">
              <select name="negocio" id="negocio">
                <option value="Null">Seleccione tipo de negocio</option>
                <option value="Null">------------------------------</option>
                <option value="Arriendo">Arriendo</option>
                <option value="Venta">Venta</option>
                            </select>
            </div></td>
          </tr>
          <tr>
            <td colspan="2"><div align="left">Tipo de inmueble</div></td>
            <td>&nbsp;</td>
            <td colspan="2"><div align="left">
              <select name="inmueble" id="inmueble">
                <option value="Null">Seleccione tipo de inmueble</option>
                <option value="Null">------------------------------</option>
                <option value="Apartamento">Apartamento</option>
                <option value="Bodega">Bodega</option>
                <option value="Casa">Casa</option>
                <option value="Edificio">Edificio</option>
                <option value="Finca">Finca</option>
                <option value="Local">Local</option>
                <option value="Lote">Lote</option>
                <option value="Oficina">Oficina</option>
                            </select>
            </div></td>
          </tr>
          <tr>
            <td colspan="2"><div align="left">Precio en pesos ($)</div></td>
            <td>&nbsp;</td>
            <td colspan="2"><div align="left">
              <input name="precio" type="text" id="precio" size="15" />
            </div></td>
          </tr>
          <tr>
            <td colspan="2">&nbsp;</td>
            <td>&nbsp;</td>
            <td colspan="2">&nbsp;</td>
          </tr>
          <tr>
            <td colspan="2"><div align="left">Frase de introducci&oacute;n</div></td>
            <td>&nbsp;</td>
            <td colspan="2">&nbsp;</td>
          </tr>
          <tr>
            <td colspan="5"><div align="left">
              <textarea name="intro" id="intro" cols="50" rows="3"></textarea>
            </div></td>
            </tr>
          <tr>
            <td colspan="2"><div align="left">Descripci&oacute;n completa del inmueble</div></td>
            <td>&nbsp;</td>
            <td colspan="2">&nbsp;</td>
          </tr>
          <tr>
            <td colspan="5"><div align="left">
              <textarea name="descripcion" id="descripcion" cols="50" rows="5"></textarea>
            </div></td>
            </tr>
          <tr>
            <td colspan="2">&nbsp;</td>
            <td>&nbsp;</td>
            <td colspan="2">&nbsp;</td>
          </tr>
          <tr>
            <td colspan="2">&nbsp;</td>
            <td>&nbsp;</td>
            <td colspan="2">&nbsp;</td>
          </tr>
          <tr>
            <td colspan="5"><div align="left"><span class="titulo_index">IMAGENES DEL INMUEBLE</span></div></td>
            </tr>
          <tr>
            <td colspan="2">&nbsp;</td>
            <td>&nbsp;</td>
            <td colspan="2">&nbsp;</td>
          </tr>
          <tr>
            <td colspan="5"><div align="left">
              <input name="image[]" type="file" id="image[]" onchange="setBlock();" size="45" />
              <div id="moreUploads"></div>
<div id="moreLink" style="display:none;">
<a href="javascript:addFileInput();">Agregar otra imagen</a>
            </div></td>
            </tr>
        </table>
            </form> 
continua...
  #15 (permalink)  
Antiguo 01/11/2007, 14:34
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 21 años, 5 meses
Puntos: 0
Re: Cómo subir texto y varias imágenes a la vez...?

El codigo que sube imagenes a carpeta y datos a base de datos (con nombre de imagen):

Código PHP:
<?

header 
("Location: form_propiedades.html");

include(
"connect.php");

if(!(
file_exists($_FILES['image']['name'])))
{
if(
move_uploaded_file($_FILES['image']['tmp_name'], "../imagenes_subidas/".$_FILES['image']['name']))
{
$imag=$_FILES['image']['name'];                        
}
else
{
echo 
"Ha ocurrido un error al subir el archivo!!! Inténtelo de nuevo";

$consulta_insertar "INSERT INTO propiedades (id, contacto, empresa, direccion, telefono, movil, email, zona, ubicacion, edad, metros, alcobas, banos, parqueaderos, estrato, lineas, tv, info, cerrado, vigilancia, cubierto, visitantes, comunes, ninos, verdes, principal, colegios, transporte, negocio, inmueble, precio, intro, descripcion, imag) VALUES ('', '$contacto', '$empresa', '$direccion', '$telefono', '$movil', '$email', '$zona', '$ubicacion', '$edad', '$metros', '$alcobas', '$banos', '$parqueaderos', '$estrato', '$lineas', '$tv', '$info', '$cerrado', '$vigilancia', '$cubierto', '$visitantes', '$comunes', '$ninos', '$verdes', '$principal', '$colegios', '$transporte', '$negocio', '$inmueble', '$precio', '$intro', '$descripcion', '$imag')"
mysql_query($consulta_insertar,$conexion) or die("No se pudo insertar los datos en la base de datos.");

exit();
}

?>

La duda inicial es:

En la base de datos cree un campo imag que es el que recoge el nombre de la imagen pero, en este caso que se van a subir indefinidas imagenes, debo colocar mas campos imag (tipo imag2, imag3) en la base de datos? o seria mejor crear hasta 12 campos para las imagenes en la base de datos aunque no se usen todos (no se permitira el ingreso de mas de 12 fotos por propiedad)?

Segundo:

La idea del codigo que procesa el formulario es esa? esta correcto?

Gracias...
  #16 (permalink)  
Antiguo 01/11/2007, 15:39
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 9 meses
Puntos: 70
De acuerdo Re: Cómo subir texto y varias imágenes a la vez...?

Hola de nuevo iarrieta!! Cómo vas??

Pues lo de recibir indeterminados input's de tipo archivo ..., nunca lo he hecho Pero sí lo he hecho con checkbox!!! :

Quizás la lógica sea la misma no? pero cambiando los respectivos campos...
Código PHP:
foreach($_POST['aseg'] as $ed)
            {
                
$consulta="delete from medios_contactos where id_medio='$idd' and id_contacto='$ed'";
                
$res=$db["mq"]($consulta);
//acà deberías colocar lo del move_uploaded
            

De todas formas funcione o no... debes tener en cuenta el peso total de los archivos que vas a permitir subir no?? Debes tener en cuenta el tiempo de upload que tenga el servidor por formulario, el tamaño máximo que te permite subir... Ojo con eso!!

Puedes tener x cantidad de input, pero con las restricciones de arriba, y según eso, ves que tan viable es hacerlo o no...

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #17 (permalink)  
Antiguo 01/11/2007, 15:46
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 21 años, 5 meses
Puntos: 0
Re: Cómo subir texto y varias imágenes a la vez...?

Ahora si que no entendi nada...

Probando el sistema con los codigos como puse arriba arriba, no sube nada y me muestra este error:

Parse error: syntax error, unexpected $end in /home/bogota/public_html/admin/ingresar_propiedad.php on line 22
  #18 (permalink)  
Antiguo 01/11/2007, 21:07
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 21 años, 5 meses
Puntos: 0
Re: Cómo subir texto y varias imágenes a la vez...?

Bueno, para ya casi cerrar este tema, cambie totalmente la estructura del sistema (revisando viejos consejos del maestro Cluster) y dividi el asunto en 3 tablas:

Una para la inmobiliaria con sus datos
Otra para las propiedades y sus datos (campo comun id_vendedor)
Otra para las imagenes de la propiedad (se ingresan inmediatamente despues de los datos de la propiedad en otro form)(campo comun id_propiedad)

Logre entonces un bucle for y asi ingreso N fotos a la base de datos como blob (asi no me complico tanto con fotos a carpeta y datos a BD)

El unico problema que me queda por resolver y es mas que todo para pulir el codigo y no un problema, es que en el for (como logre revisando hacerlo) indico un bucle de 12 fotos y el formulario tiene 12 campos imput. Sube las fotos perfecto a la BD pero, en el caso de que suba solo 4 o 5 en vez de 12, deja los campos vacios pero crea los ID, es decir, se desperdicia espacio en la tabla (creo) y pienso que lo mejor seria que solo subiese las fotos que realmente se ingresan e ignore los campos vacios.

Aqui el codigo:

Formulario...
Código HTML:
<form id="propiedades" name="propiedades" method="post" enctype="multipart/form-data" action="ingresar_imagenes.php">
<input name="id_propiedad" type="text" id="id_propiedad" size="10" />
<input name="archivo[]" type="file" id="archivo[]"size="45" />
<input name="archivo[]" type="file" id="archivo[]"size="45" />
<input name="archivo[]" type="file" id="archivo[]"size="45" />
<input name="archivo[]" type="file" id="archivo[]"size="45" />
<input name="archivo[]" type="file" id="archivo[]"size="45" />
<input name="archivo[]" type="file" id="archivo[]"size="45" />
<input name="archivo[]" type="file" id="archivo[]"size="45" />
<input name="archivo[]" type="file" id="archivo[]"size="45" />
<input name="archivo[]" type="file" id="archivo[]"size="45" />
<input name="archivo[]" type="file" id="archivo[]"size="45" />
<input name="archivo[]" type="file" id="archivo[]"size="45" />
<input name="archivo[]" type="file" id="archivo[]"size="45" />
<input type="submit" name="submit" id="submit" value="Ingresar Im&aacute;genes" />
</form> 

Codigo que sube...
Código PHP:
<?php
header 
("Location: form_propiedades.html");

include(
"connect.php");

for (
$i=0$i <= 11$i++){
//echo $i."<br>";

$binario_nombre_temporal=$_FILES['archivo']['tmp_name'][$i];
 
$binario_contenido addslashes(fread(fopen($binario_nombre_temporal"rb"), filesize($binario_nombre_temporal))); 
 
$binario_nombre=$_FILES['archivo']['name'][$i]; 
$binario_peso=$_FILES['archivo']['size'][$i]; 
$binario_tipo=$_FILES['archivo']['type'][$i]; 
 
$consulta_insertar "INSERT INTO imagenes (id, id_propiedad, archivo_binario, archivo_nombre, archivo_peso, archivo_tipo) VALUES ('', '$id_propiedad', '$binario_contenido', '$binario_nombre', '$binario_peso', '$binario_tipo')"
mysql_query($consulta_insertar,$conexion) or die("No se pudo insertar los datos en la base de datos.");

}
exit; 
?>
Como pulirlo? Influye si en form manejo lo que hasta ahora hacia que era con javascript para crear los imput de acuerdo a imagenes iba a subir? y el for, como quedaria? se que el truco esta aqui:
Código PHP:
<? for ($i=0$i <= 11$i++){ ?>
  #19 (permalink)  
Antiguo 02/11/2007, 08:16
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 9 meses
Puntos: 70
De acuerdo Re: Cómo subir texto y varias imágenes a la vez...?

Hola iarrieta!! Cómo andas?? Me alegra que lo hayas podido solucionar!!

Y si en el for preguntas que si el archivo temporal existe???

Código PHP:
for ($i=0$i <= 11$i++)
{
if(isset(
$_FILES['archivo']['tmp_name'][$i]))
{
$binario_nombre_temporal=$_FILES['archivo']['tmp_name'][$i];
 
$binario_contenido addslashes(fread(fopen($binario_nombre_temporal"rb"), filesize($binario_nombre_temporal)));
.
.
.
  
}
else
{
//no hay archivo para subir
}

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #20 (permalink)  
Antiguo 02/11/2007, 09:08
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 21 años, 5 meses
Puntos: 0
Re: Cómo subir texto y varias imágenes a la vez...?

Hola Carxl, gracias!

Pues no se, en la madrugada logre que funcionara perfecto con esto:

Código PHP:
<? for ($i=0$i <count($archivo); $i++){ ?>
No se si es mejor (mas limpio) lo que planteas. Ya que funciona sin errores creo que lo puedo manejar como esta. Gracias de todos modos.

Ahora me voy con el buscador avanzado. Cualquier complicacion pido ayuda luego.
  #21 (permalink)  
Antiguo 02/11/2007, 09:25
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 9 meses
Puntos: 70
De acuerdo Re: Cómo subir texto y varias imágenes a la vez...?

Hola de nuevo!!

Me causò curiosidad lo de subir la imagen a la DB...

Sé que la subes con esto:
Código PHP:
$binario_contenido addslashes(fread(fopen($binario_nombre_temporal"rb"), filesize($binario_nombre_temporal))); 
Y para mostrarla cuando la necesite??

Gracias de antemano, byee
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #22 (permalink)  
Antiguo 02/11/2007, 10:51
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 21 años, 5 meses
Puntos: 0
Re: Cómo subir texto y varias imágenes a la vez...?

A grandes rasgos...

Código PHP:
<? 
include("connect.php"); 
 
$sql="SELECT * FROM noticias WHERE id='".$_GET['id']."'"
$result=mysql_query($sql);  

while(
$row=mysql_fetch_array($result)) 

echo 
"<div align='justified'>";
echo 
"<font class='titulo_cinco'>".$row[titulo]."</font><br>";
echo 
"<font color='#6699CC'>".$row[intro]."</font></div><br><br>";
echo 
"<div align='justified'>";
echo 
str_replace("\n""<br>"$row[contenido]);
if (!empty(
$row[archivo_binario])){
echo 
"<br><br><img src=\"noticias_foto.php?id=".$row['id']."\"><br><br>";
}
if (!empty(
$row[nota])){
echo 
"<font class='nota'>".$row[nota]."</font>";
}
}
?>
Donde noticias_foto.php es el codigo que crea las miniaturas, o alli iria el codigo de muestra.

El if empty es porque en este caso es una muestra de noticias que aveces tiene foto y aveces no.
  #23 (permalink)  
Antiguo 05/11/2007, 00:25
 
Fecha de Ingreso: octubre-2007
Mensajes: 106
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Cómo subir texto y varias imágenes a la vez...?

hola amigo se pueden subir imagenes con php a la database access..
yo soy nuevo en esto
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:54.