Foros del Web » Programando para Internet » PHP »

Como cargar muchas imagenes a la vez

Estas en el tema de Como cargar muchas imagenes a la vez en el foro de PHP en Foros del Web. Buenas, Tengo una duda si deseo subir muchas imagenes a la vez y que a la vez el nombre de archivo quede registrado en una ...
  #1 (permalink)  
Antiguo 29/10/2008, 15:50
 
Fecha de Ingreso: diciembre-2003
Mensajes: 173
Antigüedad: 20 años, 4 meses
Puntos: 1
Como cargar muchas imagenes a la vez

Buenas,

Tengo una duda si deseo subir muchas imagenes a la vez y que a la vez el nombre de archivo quede registrado en una bd, hay alguna manera practica de hacerlo? O debo usar formulario tradicional combinado con la base de datos?

Un saludo,
Section1
  #2 (permalink)  
Antiguo 29/10/2008, 16:24
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Respuesta: Como cargar muchas imagenes a la vez

hola

examina este code, a ver si te sirve, es capaz de subir 20 files o las que quieras, con nombre que quiera y desacripcion

y guardarlas en la BBDD. adaptalo a tus necesidades y campos de la bbdd y campos del form...

tambien tiene un select donde pongo las categorias, que obtengo de la bbdd


Código PHP:

<form action="" method="post" enctype="multipart/form-data" name="form1"> 
      Cantidad: <select name="cantidad"> 
                    <script type="text/javascript"> 
                    for(x=1;x<=20;x++){ 
                    document.write("<option value="+ x +">"+ x+"</option>"); 
                    } 
                    </script> 
      </select> 
      <input type="submit" name="Submit" value="Submit"><br> 
       

<?php     


if(isset($_POST['Submit'])){ 
        
           
            for(
$i=1;$i<=$_POST['cantidad'];++$i){ 
                echo 
"Imagen".$i."<br>";
                echo 
"<input type=\"file\" name=\"archivo[]\"><br>"
                echo 
"nombre".$i."<br>";
                echo 
"<input type=\"text\" name=\"nombre[]\"><br>";
                echo 
"descripcion".$i."<br>";
                echo 
"<textarea name=\"description[]\" id=\"description\" cols=\"45\" rows=\"5\"></textarea><br>";
                echo
"<select name=\"cat[]\" id=\"cat\">";
                
                
$sql "SELECT   * FROM categorias ";  
                
$result mysql_query($sql) or die ( mysql_error() ); 
                
                    while (
$row mysql_fetch_array($result)){
                 echo 
"<option value=\"".$row[id]."\">".htmlentities($row[categoria])."</option>\n<br>";  
                     } 
                        echo
"</select><br><br>";

            
            } 
        echo 
"<input type=\"submit\" name=\"Submit2\" value=\"Submit2\">"
        echo 
"<input type=\"hidden\" name=\"cant1\" value=\"$i\">"
    } 
     
    if(isset(
$_POST['Submit2'])){ 
        
$cantidad2 =count($_FILES["archivo"]); 
        for (
$j=0;$j<=$cantidad2;$j++){ 
                
$archivo $_FILES["archivo"]["tmp_name"][$j];  
                
$tamanio $_FILES["archivo"]["size"][$j]; 
                
$tipo    $_FILES["archivo"]["type"][$j]; 
                
$nombre  $_FILES["archivo"]["name"][$j]; 
                
                
$name $_POST['nombre'][$j];
                
$descripcion $_POST['description'][$j];
                
$categoria $_POST['cat'][$j];
                
                    
$x=$j
             do{ 
             
$x++; 
                if( 
$name != "" ){ 
                           
                        
                           
                           
                           
                            
                                    
//quitamos espacios al principio y al final del nombre
                            
$ruta_destino "archivos/";
                            
$namefinaltrim ($nombre);
                            
//cambio espacios del nombre archivo por guiones bajos
                            
$namefinalereg_replace (" ""_"$namefinal);
                            
$uploadfile$ruta_destino $namefinal;
                            if(
move_uploaded_file($_FILES["archivo"]["tmp_name"][$j], $uploadfile)) { // se coloca en su lugar final 
                                        
echo "<b>Upload exitoso!. Datos:</b><br>"
                                        echo 
"Nombre: <i><a href=\"".$uploadfile."\">".$namefinal."</a></i><br>"
                                        echo 
"Tipo MIME: <i>".$tipo."</i><br>"
                                        echo 
"Peso: <i>".$tamanio." bytes</i><br>"
                                        echo 
"<hr><br><br>";            
                              
//AQUI  INSERTE EN LA BASE DE DATOS 
                           
                           
$query "INSERT INTO descargas (name, description, ruta, tipo, size, id_cat)
                                    VALUES ('$name', '$descripcion' , '$namefinal', '$tipo', '$tamanio','$categoria')"
;
    
                            
mysql_query($query) or die(mysql_error());
                            echo 
"El archivo <b>'$namefinal'</b>  ha sido registrado de manera satisfactoria.<br />";
                            echo 
"<br><hr><br><br><br>";
                           
                           
                           
                                    
                                   }
                           } 
                        }while(
$x<$j); 
             } 
        } 
        
?> 
</form>
Un saludo
  #3 (permalink)  
Antiguo 29/10/2008, 16:32
 
Fecha de Ingreso: diciembre-2003
Mensajes: 173
Antigüedad: 20 años, 4 meses
Puntos: 1
Respuesta: Como cargar muchas imagenes a la vez

Muchas gracias lo pondre en practica.

Section1
  #4 (permalink)  
Antiguo 29/10/2008, 16:40
 
Fecha de Ingreso: diciembre-2003
Mensajes: 173
Antigüedad: 20 años, 4 meses
Puntos: 1
Respuesta: Como cargar muchas imagenes a la vez

Pero me sigue quedando la duda de si se puede desarrollar un script que recoja todos los nombres de los archivos de una carpeta y los introduzca en una bd.?
  #5 (permalink)  
Antiguo 29/10/2008, 16:52
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Respuesta: Como cargar muchas imagenes a la vez

SI
Con

readdir
fopen
y fwrite



busca en el manual oficial de php estas dos funciones.
http://es2.php.net/manual/es/function.readdir.php

escriben en un txt una consulta de la BBDD

Un saludo
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 14:23.