Foros del Web » Programando para Internet » PHP »

Imagenes y arrays

Estas en el tema de Imagenes y arrays en el foro de PHP en Foros del Web. Hola! A ver, tengo un select de 1 al 5 porque segun la opcion seleccionada se crean diferentes tipos file (estoy hablando de objectos de ...
  #1 (permalink)  
Antiguo 09/08/2004, 14:49
Avatar de SeRNa  
Fecha de Ingreso: octubre-2003
Ubicación: Ibiza
Mensajes: 72
Antigüedad: 14 años, 2 meses
Puntos: 0
Imagenes y arrays

Hola!

A ver, tengo un select de 1 al 5 porque segun la opcion seleccionada se crean diferentes tipos file (estoy hablando de objectos de formularios). Entonces lo que me interesaria es que cada uno tuviera un nombre que seria el nombre del array más la posicion, por ejemplo $imagen [0] y cuando lo mande esto consiga sacar el archivo de las diferentes posiciones para guardarlo el nombre en la base de datos y almacenarlos en el servidor ftp.

for ($i=0 ; $i < $cant ; $i++) {
echo "<input type=\"file\" name=\"img[$i]\">"; // img es el nombre del array que quiero usar}

Que no sé me ocurre como hacerlo para que me funcione. A ver si me podeis ayudar porque yo no suelo utilizar demasiado los arrays pero esta vez los necesito ;)

Muchas Gracias!
__________________
Una de las ventajas de ser desordenado es que uno está haciendo continuamente descubrimientos
  #2 (permalink)  
Antiguo 09/08/2004, 14:59
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 16 años, 4 meses
Puntos: 9
a ver, pregunta, porque no usas las funciones en directorio (http://www.php.net/dir) en lugar de ftp, puede que por seguridad uses el segundo. Pero puedes seguirle desde ahí.
  #3 (permalink)  
Antiguo 09/08/2004, 15:24
Avatar de SeRNa  
Fecha de Ingreso: octubre-2003
Ubicación: Ibiza
Mensajes: 72
Antigüedad: 14 años, 2 meses
Puntos: 0
A ver, he dicho que lo almaceno en el FTP por llamarlo de alguna manera. Lo que yo necesito es saber como puedo almacenar en un array todas las imagenes que quiero subir.
__________________
Una de las ventajas de ser desordenado es que uno está haciendo continuamente descubrimientos
  #4 (permalink)  
Antiguo 09/08/2004, 15:38
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 16 años, 4 meses
Puntos: 9
Me supongo que lo que quieres es que con un array, pongas la ubicación de la imagen cargada.

Obviamente, lo que puedes hacer es primero subir la o las imágenes, y luego enlistar los archivos. Checa el while donde aparece en la función de directorio que aparece ahí.

Y si no sabes subir archivos te mando esta opción. http://www.php.net/manual/es/features.file-upload.php
  #5 (permalink)  
Antiguo 09/08/2004, 15:42
Avatar de SeRNa  
Fecha de Ingreso: octubre-2003
Ubicación: Ibiza
Mensajes: 72
Antigüedad: 14 años, 2 meses
Puntos: 0
Creo que me explico muy mal :(

Yo si que se subir archivos... Lo que necesito hacer, es crear un array con las direcciones de las imagenes. Ejemplo

Array = ("pepito.jpg","koko.jpg"...)

De esta manera mandarlo a la pagina donde subo los archivos y recorriendo el array ir subiendo todos los archivos que hay. De esta manera puedo poner el numero de archivos que quiera subir dinamicamente.
__________________
Una de las ventajas de ser desordenado es que uno está haciendo continuamente descubrimientos
  #6 (permalink)  
Antiguo 09/08/2004, 18:32
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 13 años, 6 meses
Puntos: 2
Podrías hacer esto:

for ($i=0 ; $i < $cant ; $i++) {
echo "<input type='file' name='imagenes[".img[$i]."]'>";
}

y en la página donde recoges los files tendrías el array imagenes:

$arrayImagenes=$_POST["imagenes"];
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #7 (permalink)  
Antiguo 11/08/2004, 08:50
Avatar de SeRNa  
Fecha de Ingreso: octubre-2003
Ubicación: Ibiza
Mensajes: 72
Antigüedad: 14 años, 2 meses
Puntos: 0
Creo que sigo haciendo algo mal.

for ($i=0 ; $i < $cant ; $i++) {
echo "<input type='file' name='imagenes['.img[$i].']'>"; // He tenido que sustituir las " por ' porque sino me daba error
}


y luego en la pagina donde recojo las variables lo hago asi.

$arrayImagenes = $_FILES["imagenes"];
for ($i=0 ; $i < $cant ; $i++) {
echo $arrayImagenes [$i]["name"]; // Primero visualizo para comprobar que los paso bien.

no sé que hago mal :(
}
__________________
Una de las ventajas de ser desordenado es que uno está haciendo continuamente descubrimientos
  #8 (permalink)  
Antiguo 11/08/2004, 09:17
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
mm No sé que función tiene tu array $img o que valores contiene .. ¿es una referencia que asocia algún registro concreto?

Pero ... en principio subir tus N archivos que generastes en tu bucle inicia, no necesitas ni usar indice para el "name" de tu campo de formulario (que ahora será de tipo "array" ...) si usas [] ya que eso es "indice autonumérico y comenzando en cero":

Código PHP:
for ($i=$i $cant $i++) {
    echo 
"<input type=\"file\" name=\"imagenes[]\">"

En el script PHP tendras un array del tipo: $_FILES['nombre_campo_file']['propiedad'][indice_archivo]

Código PHP:
for ($i=$i $cant $i++) {
 echo 
"Nombre orginal: ".$_FILES['imagenes']['name'][$i]."Nombre temporal: ".$_FILES['imagenes']['tmp_name'][$i]."<br>"

más info:
http://www.php.net/manual/es/feature...d.multiple.php


Un saludo,
  #9 (permalink)  
Antiguo 11/08/2004, 16:26
Avatar de SeRNa  
Fecha de Ingreso: octubre-2003
Ubicación: Ibiza
Mensajes: 72
Antigüedad: 14 años, 2 meses
Puntos: 0
Muchas gracias a los dos. A ver si voy cogiendole el truco a los arrays que siempre son muy utiles y no se me dan demasiado bien...

Ya lo he adaptado a mi web y funcionando ;)
__________________
Una de las ventajas de ser desordenado es que uno está haciendo continuamente descubrimientos
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 04:34.