Foros del Web » Programando para Internet » PHP »

Subir mas de un archivo

Estas en el tema de Subir mas de un archivo en el foro de PHP en Foros del Web. Buenas Tengo un panel en donde el usuario sube un archivo desde un formulario, me gustaria saber como hago para que pueda seleccionar mas de ...
  #1 (permalink)  
Antiguo 04/05/2009, 16:28
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 21 años, 3 meses
Puntos: 3
Subir mas de un archivo

Buenas

Tengo un panel en donde el usuario sube un archivo desde un formulario, me gustaria saber como hago para que pueda seleccionar mas de uno? porque creo que el input type=file te permite solo uno, como hago para seleccionar varios? y que estos se guarden en una db en cada campo por separado?, uso esta funcion para subir...

Código PHP:
$path="carpeta";
    if (
is_uploaded_file($_FILES["archivo"]["tmp_name"][$i])) {
        if(
$_FILES['archivo']['size'] < 1185000) {
            if(
$_FILES['archivo']['type']=="image/gif" || $_FILES['archivo']['type']=="image/jpeg" || $_FILES['archivo']['type']=="image/pjpeg") {
                
$file move_uploaded_file($_FILES['archivo']['tmp_name'],$path."/".$nombre.".jpg"); 
                
$subio true;
            }
        }
    } 
Alguna idea?

y para subir uso un

Código PHP:
<input name="archivo" type="file" id="archivo" onKeyPress="return validar(event);" size="40" maxlength="20"
comun, alguna solucion? luego guardo esa variable archivo en una db.
  #2 (permalink)  
Antiguo 04/05/2009, 16:57
Avatar de lucasphp  
Fecha de Ingreso: mayo-2009
Ubicación: Misiones
Mensajes: 170
Antigüedad: 15 años, 6 meses
Puntos: 3
Respuesta: Subir mas de un archivo

Cita:
Iniciado por SeNdEr2003 Ver Mensaje
Buenas

Tengo un panel en donde el usuario sube un archivo desde un formulario, me gustaria saber como hago para que pueda seleccionar mas de uno? porque creo que el input type=file te permite solo uno, como hago para seleccionar varios? y que estos se guarden en una db en cada campo por separado?, uso esta funcion para subir...

Código PHP:
$path="carpeta";
    if (
is_uploaded_file($_FILES["archivo"]["tmp_name"][$i])) {
        if(
$_FILES['archivo']['size'] < 1185000) {
            if(
$_FILES['archivo']['type']=="image/gif" || $_FILES['archivo']['type']=="image/jpeg" || $_FILES['archivo']['type']=="image/pjpeg") {
                
$file move_uploaded_file($_FILES['archivo']['tmp_name'],$path."/".$nombre.".jpg"); 
                
$subio true;
            }
        }
    } 
Alguna idea?

y para subir uso un

Código PHP:
<input name="archivo" type="file" id="archivo" onKeyPress="return validar(event);" size="40" maxlength="20"
comun, alguna solucion? luego guardo esa variable archivo en una db.
supongo que vas a tener que agregar un botón que diga "agregar otro"- o algo por el estilo - mediante javascript. tal vez podrías crear un vector en base al nombre del input e ir subiendo mediante un while que controle la cantidad de botones del vector. no entendí la parte de los campos por separado.
  #3 (permalink)  
Antiguo 04/05/2009, 16:59
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 21 años, 3 meses
Puntos: 3
Respuesta: Subir mas de un archivo

si, eso lo tengo, lo hago asi:

Código PHP:
   <input type="file" name="archivos[]" /><br />
   </
div></dd>
   <
dt><a href="#" onClick="addCampo()">Subir otro archivo</a></dt>      
   <
dd><input type="submit" value="Enviar" id="envia" name="envia" /></dd
Pero no se como hacer que mi funcion lo tome...no me lo sube...con algun for? pero como?
  #4 (permalink)  
Antiguo 04/05/2009, 17:06
Avatar de SCY-FOX  
Fecha de Ingreso: septiembre-2007
Ubicación: Chile
Mensajes: 139
Antigüedad: 17 años, 2 meses
Puntos: 5
Respuesta: Subir mas de un archivo

Uy yo lo hice a mano... xD

usas varios input y recibes varios archivos.
La joda esta en validar todas las combinaciones de "con" o "sin archivo" al momento de hacer el "move_uploaded_file".

:S

Si quieres te pego el codigo...
  #5 (permalink)  
Antiguo 04/05/2009, 17:13
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 21 años, 3 meses
Puntos: 3
Respuesta: Subir mas de un archivo

lo tienes? te lo agradeceria, no se como agarrar el array con el move_upload_file...
  #6 (permalink)  
Antiguo 04/05/2009, 17:49
Avatar de SCY-FOX  
Fecha de Ingreso: septiembre-2007
Ubicación: Chile
Mensajes: 139
Antigüedad: 17 años, 2 meses
Puntos: 5
Respuesta: Subir mas de un archivo

Código PHP:
<?php
//***********************************************************
//Aca deben incluirse los datos de conexion de base de datos.
//***

ini_set ("display_errors","1" );
$fecha        date("d-m-Y");
$fecha2        date("Y-m-d");

//Validaciones de Accion.


if (isset($_POST["enviar"]))
{
    
$n_foto1         "";
    
$n_path_foto1    "";
    
    
$n_foto2         "";
    
$n_path_foto2     "";
    
    
$n_foto3         "";
    
$n_path_foto3     "";
    
    
$n_fichero         "";
    
$n_path_fichero "";
    
    
$titulo          "";
    
$detalle         "";
    
$sqlversion "";
    
$orden             "";
    
    
$tipofile1            =    "";
    
$tipofile2            =    "";
    
$tipofile3            =    "";
    
$tipofile4            =    "";

    
// Recibe Contenidos
    
    
$titulo            =    $_POST["nombre"];
    
$detalle        =    $_POST["detalle"];
    
$fecha            =    $_POST["fecha"];
    
$orden            $_POST["orden"];
    
    
$tipofile1            =    $_POST["tipo1"];
    
$tipofile2            =    $_POST["tipo2"];
    
$tipofile3            =    $_POST["tipo3"];
    
$tipofile4            =    $_POST["tipo4"];
    
    
/*echo $tipo1;
    echo $tipo2;
    echo $tipo3;
    echo $tipo4;*/


    //Recibo Ficheros - Foto Thumb (La del flash del index)

    
$n_foto1        =    $_FILES['foto1']['name'];
    
$n_foto1_tmp    =    $_FILES['foto1']['tmp_name'];
    
$n_foto1_size    =    $_FILES['foto1']['size'];
    
$n_foto1_type    =    $_FILES['foto1']['type'];
    
    
//Si el ancho máximo es superado, se detiene la carga y welta patrá! xDD
    
list($ancho1$altura1$tipo1$atr1) = getimagesize($n_foto1_tmp);
    
    if (
$ancho 95)
     {
         echo 
"<script>alert('El ancho maximo es 95px. Favor redimensionar o ingresar otro archivo')</script>";
        echo 
"<script type=\"text/javascript\">window.location = \"javascript:history.go(-1)\"</script>";
        die();
     } else if (
$altura 40)
                 {
                     echo 
"<script>alert('El alto maximo es 40px. Favor redimensionar o ingresar otro archivo')</script>";
                    echo 
"<script type=\"text/javascript\">window.location = \"javascript:history.go(-1)\"</script>";
                    die();
                 } 

// Foto mediana. - La que aparece en la sección noticias.
    
$n_foto2        =    $_FILES['foto2']['name'];
    
$n_foto2_tmp    =    $_FILES['foto2']['tmp_name'];
    
$n_foto2_size    =    $_FILES['foto2']['size'];
    
$n_foto2_type    =    $_FILES['foto2']['type'];

//Si el ancho máximo es superado, se detiene la carga y welta patrá! xDD
//Porque no hay primera sin segunda.
    
list($ancho2$altura2$tipo2$atr2) = getimagesize($n_foto2_tmp);
    
    if (
$ancho2 101)
     {
         echo 
"<script>alert('El ancho maximo es 101px. Favor redimensionar o ingresar otro archivo')</script>";
        echo 
"<script type=\"text/javascript\">window.location = \"javascript:history.go(-1)\"</script>";
        die();
     } else if (
$altura2 101)
                 {
                     echo 
"<script>alert('El alto maximo es 101px. Favor redimensionar o ingresar otro archivo')</script>";
                    echo 
"<script type=\"text/javascript\">window.location = \"javascript:history.go(-1)\"</script>";
                    die();
                 } 
//Foto grande. - La que aparece en el flash lateral de la sección noticias.
    
$n_foto3        =    $_FILES['foto3']['name'];
    
$n_foto3_tmp    =    $_FILES['foto3']['tmp_name'];
    
$n_foto3_size    =    $_FILES['foto3']['size'];
    
$n_foto3_type    =    $_FILES['foto3']['type'];
    
//Si el ancho máximo es superado, se detiene la carga y welta patrá! xDD
//La tercera es la vencida

    
list($ancho3$altura3$tipo3$atr3) = getimagesize($n_foto3_tmp);
    
    if (
$ancho3 319)
     {
         echo 
"<script>alert('El ancho maximo es 319px. Favor redimensionar o ingresar otro archivo')</script>";
        echo 
"<script type=\"text/javascript\">window.location = \"javascript:history.go(-1)\"</script>";
        die();
     } else if (
$altura3 416)
                 {
                     echo 
"<script>alert('El alto maximo es 416px. Favor redimensionar o ingresar otro archivo')</script>";
                    echo 
"<script type=\"text/javascript\">window.location = \"javascript:history.go(-1)\"</script>";
                    die();
                 } 
// PDF o fichero cualquiera que se suba acompañando a la noticia.
    
$n_fichero        =    $_FILES['fichero']['name'];
    
$n_fichero_tmp    =    $_FILES['fichero']['tmp_name'];
    
$n_fichero_size    =    $_FILES['fichero']['size'];
    
$n_fichero_type    =    $_FILES['fichero']['type'];
        
//Si es pdf no tengo pa ke shit revisar alto y ancho... toy puro marakeando xDD
    
// Verificacion de variables
/*
    echo $titulo."<br />";
    echo $detalle."<br />";
    echo $fecha."<br />";    

    echo $n_foto1."<br />";
    echo $n_foto1_tmp."<br />";
    echo $n_foto1_size."<br />";
    echo $n_foto1_type."<br />";
    
    echo $n_foto2."<br />";
    echo $n_foto2_tmp."<br />";
    echo $n_foto2_size."<br />";
    echo $n_foto2_type."<br />";
    
    echo $n_foto3."<br />";
    echo $n_foto3_tmp."<br />";
    echo $n_foto3_size."<br />";
    echo $n_foto3_type."<br />";
    
    echo $n_fichero."<br />";
    echo $n_fichero_tmp."<br />";
    echo $n_fichero_size."<br />";
    echo $n_fichero_type."<br />";
    
    */

//**********************************************


//CONTINUA  
?>
sIGUE ABAJO...

Última edición por SCY-FOX; 04/05/2009 a las 17:56 Razón: NO CABE TODO
  #7 (permalink)  
Antiguo 04/05/2009, 17:51
Avatar de SCY-FOX  
Fecha de Ingreso: septiembre-2007
Ubicación: Chile
Mensajes: 139
Antigüedad: 17 años, 2 meses
Puntos: 5
Respuesta: Subir mas de un archivo

Código PHP:

<?PHP

//SIGUE...
    
//VALIDACIÓN DE FORMULARIO:
/*
La base de datos impide ingresar un nuevo newsletter sin titulo y contenido.
Aunque permite no usar fotos. Hay que hacer algo para que en caso de no subir fotos, ponga algunas de muestra o por omisión.

Acá valida que ingresen titulo y contenido y en caso de no hacerlo, cancela la operación y redirije a la página de carga.
*/

    
if ($titulo == '')
    {
        echo 
"<script>alert('Debe ingresar un nombre/titulo o cancelar la operación.')</script>";
        echo 
"<script type=\"text/javascript\">window.location = \"$direccion\"</script>";
    }
    if (
$detalle == '')
    {
        echo 
"<script>alert('Debe ingresar una descripción o cancelar la operación.')</script>";
        echo 
"<script type=\"text/javascript\">window.location = \"$direccion\"</script>";
    }
    

    if ((
$n_foto1 == '') && ($n_foto2 == '') && ($n_foto3 == '') && ($_fichero == '') ) //1 0-0-0-0
    

        
$n_foto1         ""// 0
        
$n_foto2         ""// 0
        
$n_foto3         ""// 0
        
$n_fichero         ""// 0
        
$sin_foto1         "TRUE"
        
$sin_foto2         "TRUE";
        
$sin_foto3        "TRUE";
        
$sin_fichero    "TRUE";
        
$sqlversion 1;
        
    } else if ((
$n_foto1 != '') && ($n_foto2 == '') && ($n_foto3 == '') && ($n_fichero == '')) //2 1-0-0-0
            

            
$n_foto1         renombrar($n_foto1);    // 1
            
$n_foto2         "";                    // 0
            
$n_foto3         "";                    // 0
            
$n_fichero         "";                    // 0
            
$sin_foto1         "FALSE";
            
$sin_foto2         "TRUE";
            
$sin_foto3        "TRUE";
            
$sin_fichero    "TRUE";
            
$sqlversion     2;
            
            } else if ((
$n_foto1 == '') && ($n_foto2 != '') && ($n_foto3 == '') && ($n_fichero == '')) //3 0-1-0-0
                
{
                
$n_foto1         "";                    // 0
                
$n_foto2         renombrar($n_foto2);    // 1
                
$n_foto3         "";                    // 0
                
$n_fichero         "";                    // 0
                
$sin_foto1         "TRUE";
                
$sin_foto2         "FALSE";
                
$sin_foto3        "TRUE";
                
$sin_fichero    "TRUE";
                
$sqlversion     3;

                    
                } else if ((
$n_foto1 == '') && ($n_foto2 == '') && ($n_foto3 != '') && ($n_fichero == '')) //4 0-0-1-0
                    
{
                    
$n_foto1         "";                    // 0
                    
$n_foto2         "";                    // 0
                    
$n_foto3         renombrar($n_foto3);    // 1
                    
$n_fichero        "";                    // 0
                    
$sin_foto1         "TRUE";
                    
$sin_foto2         "TRUE";
                    
$sin_foto3        "FALSE";
                    
$fin_fichero    "TRUE";
                    
$sqlversion     4;
                    
                    } else if ((
$n_foto1 == '') && ($n_foto2 == '') && ($n_foto3 == '') && ($n_fichero != '')) //5 0-0-0-1
                        
{
                         
$n_foto1         "";                        // 0
                        
$n_foto2         "";                        // 0
                        
$n_foto3         "";                        // 0
                        
$n_fichero         renombrar($n_fichero);    // 1
                        
$sin_foto1         "TRUE";
                        
$sin_foto2         "TRUE";
                        
$sin_foto3        "TRUE";
                        
$sin_fichero    "FALSE";
                        
$sqlversion     5;
                                    
                        } else if ((
$n_foto1 != '') && ($n_foto2 == '') && ($n_foto3 == '') && ($n_fichero != '')) //6 1-0-0-1
                            
{
                             
$n_foto1         renombrar($n_foto1);             // 1
                            
$n_foto2         "";                            // 0
                            
$n_foto3         "";                            // 0
                            
$n_fichero         renombrar($n_fichero);        // 1
                            
$sin_foto1         "FALSE";
                            
$sin_foto2         "TRUE";
                            
$sin_foto3        "TRUE";
                            
$sin_fichero    "FALSE";
                            
$sqlversion     6;
                                        
                            } else if ((
$n_foto1 == '') && ($n_foto2 != '') && ($n_foto3 == '') && ($n_fichero != '')) //7 0-1-0-1
                                
{
                                 
$n_foto1         "";                            // 0
                                
$n_foto2         renombrar($n_foto2);            // 1    
                                
$n_foto3         "";                            // 0
                                
$n_fichero         renombrar($n_fichero);        // 1
                                
$sin_foto1         "TRUE";
                                
$sin_foto2         "FALSE";
                                
$sin_foto3        "TRUE";
                                
$sin_fichero    "FALSE";
                                
$sqlversion     7;
                                        
                                } else if ((
$n_foto1 == '') && ($n_foto2 == '') && ($n_foto3 != '') && ($n_fichero != '')) //8 0-0-1-1
                                    
{
                                     
$n_foto1         "";                            // 0
                                    
$n_foto2         "";                            // 0
                                    
$n_foto3         renombrar($n_foto3);            // 1
                                    
$n_fichero         renombrar($n_fichero);        // 1
                                    
$sin_foto1         "TRUE";
                                    
$sin_foto2         "TRUE";
                                    
$sin_foto3        "FALSE";
                                    
$sin_fichero    "FALSE";
                                    
$sqlversion     8;
                                    
                                    } else if ((
$n_foto1 != '') && ($n_foto2 == '') && ($n_foto3 != '') && ($n_fichero != '')) //9 1-0-1-1
                                        
{
                                         
$n_foto1         renombrar($n_foto1);            // 1
                                        
$n_foto2         "";                            // 0
                                        
$n_foto3         renombrar($n_foto3);            // 1
                                        
$n_fichero         renombrar($n_fichero);        // 1
                                        
$sin_foto1         "FALSE";
                                        
$sin_foto2         "TRUE";
                                        
$sin_foto3        "FALSE";
                                        
$sin_fichero    "FALSE";
                                        
$sqlversion     9;
                                        
                                        } else if ((
$n_foto1 != '') && ($n_foto2 == '') && ($n_foto3 != '') && ($n_fichero == '')) //9 1-0-1-0
                                        
{
                                         
$n_foto1         renombrar($n_foto1);            // 1
                                        
$n_foto2         "";                            // 0
                                        
$n_foto3         renombrar($n_foto3);            // 1
                                        
$n_fichero         "";        // 1
                                        
$sin_foto1         "FALSE";
                                        
$sin_foto2         "TRUE";
                                        
$sin_foto3        "FALSE";
                                        
$sin_fichero    "TRUE";
                                        
$sqlversion     9;
                                        
                                        }
                                         else if ((
$n_foto1 == '') && ($n_foto2 != '') && ($n_foto3 != '') && ($n_fichero != '')) //10 0-1-1-1
                                            
{
                                             
$n_foto1         "";                            // 0
                                            
$n_foto2         renombrar($n_foto2);            // 1
                                            
$n_foto3         renombrar($n_foto3);            // 1
                                            
$n_fichero         renombrar($n_fichero);        // 1
                                            
$sin_foto1         "TRUE";
                                            
$sin_foto2         "FALSE";
                                            
$sin_foto3        "FALSE";
                                            
$sin_fichero    "FALSE";
                                            
$sqlversion     10;
                                            
                                            } else if ((
$n_foto1 != '') && ($n_foto2 != '') && ($n_foto3 != '') && ($n_fichero != '')) //11 1-1-1-1
                                                
{
                                                 
$n_foto1             renombrar($n_foto1);             // 1
                                                
$n_foto2             renombrar($n_foto2);            // 1
                                                
$n_foto3             renombrar($n_foto3);            // 1
                                                
$n_fichero         renombrar($n_fichero);        // 1
                                                
$sin_foto1         "FALSE";
                                                
$sin_foto2         "FALSE";
                                                
$sin_foto3        "FALSE";
                                                
$sin_fichero    "FALSE";
                                                
                                                } else if ((
$n_foto1 != '') && ($n_foto2 != '') && ($n_foto3 == '') && ($n_fichero == '')) //1-1-0-0
                                                    
{
                                                 
$n_foto1             renombrar($n_foto1);             // 1
                                                
$n_foto2             renombrar($n_foto2);            // 1
                                                
$n_foto3             "";            // 1
                                                
$n_fichero         "";        // 1
                                                
$sin_foto1         "FALSE";
                                                
$sin_foto2         "FALSE";
                                                
$sin_foto3        "TRUE";
                                                
$sin_fichero    "TRUE";                                                
                                                
                                                } else if ((
$n_foto1 != '') && ($n_foto2 != '') && ($n_foto3 == '') && ($n_fichero != '')) //1-1-0-1
                                                    
{
                                                 
$n_foto1             renombrar($n_foto1);             // 1
                                                
$n_foto2             renombrar($n_foto2);            // 1
                                                
$n_foto3             "";                                                // 0
                                                
$n_fichero         renombrar($n_fichero);        // 1
                                                
$sin_foto1         "FALSE";
                                                
$sin_foto2         "FALSE";
                                                
$sin_foto3        "TRUE";
                                                
$sin_fichero    "FALSE";                                                
                                                
                                                }
                                                 else if ((
$n_foto1 != '') && ($n_foto2 != '') && ($n_foto3 != '') && ($n_fichero == '')) //1-1-1-0
                                                    
{
                                                 
$n_foto1             renombrar($n_foto1);             // 1
                                                
$n_foto2             renombrar($n_foto2);            // 1
                                                
$n_foto3             renombrar($n_foto3);            //1
                                                
$n_fichero         "";                                                // 0
                                                
$sin_foto1         "FALSE";
                                                
$sin_foto2         "FALSE";
                                                
$sin_foto3        "FALSE";
                                                
$sin_fichero    "TRUE";                                                
                                                }
                                                 else if ((
$n_foto1 == '') && ($n_foto2 != '') && ($n_foto3 != '') && ($n_fichero == '')) //0-1-1-0
                                                    
{
                                                 
$n_foto1             "";            // 0
                                                
$n_foto2             renombrar($n_foto2);            // 1
                                                
$n_foto3             renombrar($n_foto3);            //1
                                                
$n_fichero         "";                                                // 0
                                                
$sin_foto1         "TRUE";
                                                
$sin_foto2         "FALSE";
                                                
$sin_foto3        "FALSE";
                                                
$sin_fichero    "TRUE";                                                
                                                }

//Funciones de Carga al Servidor
$upload_dir_thumbs    "imagen/noticias/chicas/";
$upload_dir_grandes    "imagen/noticias/grandes/";
$upload_ficheros        "ficheros/noticias/";

//CONTINUA...

?>
SIGUE ABAJO ...
  #8 (permalink)  
Antiguo 04/05/2009, 17:52
Avatar de SCY-FOX  
Fecha de Ingreso: septiembre-2007
Ubicación: Chile
Mensajes: 139
Antigüedad: 17 años, 2 meses
Puntos: 5
Respuesta: Subir mas de un archivo

Código PHP:
<?

/*
$server = $_SERVER["SERVER_NAME"];
$uri = "/clavel2/admin/uploads/";
$upload_dir = $server.$uri;
*/


// Validacion de formularios directo desde cargador. No realizo validacion pr javascript para que no me agarren las variables al momento de hacer el envio POST

//Mover direccion temporal de FOTO 1 a DIRECCION FINAL en images/noticias/chicas
if ($sin_foto1 != "TRUE")
{
    
$n_path_foto1        =    $upload_dir_thumbs $n_foto1;    
    
$resultado1        =    move_uploaded_file($n_foto1_tmp$n_path_foto1);

    if (!
$resultado1)
        {
            echo 
"ERROR: El archivo no pudo ser cargado al servidor";
            exit;
        }
}
//Mover direccion temporal de FOTO 2 a DIRECCION FINAL en images/noticias/chicas
if ($sin_foto2 != "TRUE")
{
    
$n_path_foto2        =    $upload_dir_thumbs $n_foto2;    
    
$resultado2        =    move_uploaded_file($n_foto2_tmp$n_path_foto2);

    if (!
$resultado2)
        {
            echo 
"ERROR: El archivo no pudo ser cargado al servidor";
            exit;
        }
}
//Mover direccion temporal de FOTO 3 a DIRECCION FINAL en imagse/noticias/grandes
if ($sin_foto3 != "TRUE")
{
    
$n_path_foto3        =    $upload_dir_grandes $n_foto3;    
    
$resultado3        =    move_uploaded_file($n_foto3_tmp$n_path_foto3);

    if (!
$resultado3)
        {
            echo 
"ERROR: El archivo no pudo ser cargado al servidor";
            exit;
        }
}
//Mover direccion temporal del FICHERO a DIRECCION FINAL en ficheros/noticias
if ($sin_fichero != "TRUE")
{
    
$n_path_fichero        =    $upload_ficheros $n_fichero;    
    
$resultado4        =    move_uploaded_file($n_fichero_tmp$n_path_fichero);

    if (!
$resultado4)
        {
            echo 
"ERROR: El archivo no pudo ser cargado al servidor";
            exit;
        }
}


********************************************************

    if (!
get_magic_quotes_gpc())
    {    
        
$n_foto1        =    addslashes($n_foto1);
        
$n_foto2        =    addslashes($n_foto2);
        
$n_foto3        addslashes($n_foto3);
        
$n_fichero    =    addslashes($n_fichero);

        
$n_path_foto1        =    addslashes($n_path_foto1);
        
$n_path_foto2        =    addslashes($n_path_foto2);
        
$n_path_foto3        =    addslashes($n_path_foto3);
        
$n_path_fichero    addslashes($n_path_fichero);
    }
    
    
$sql "INSERT INTO tabla (titulo, detalle, nom_foto1, path_foto1, nom_foto2, path_foto2, nom_foto3, path_foto3, nom_fichero, path_fichero, fecha, orden, estado, tipo1, tipo2, tipo3, tipo4)
                VALUES ('$titulo', '$detalle', '$n_foto1', '$n_path_foto1', '$n_foto2', '$n_path_foto2', '$n_foto3', '$n_path_foto3', '$n_fichero', '$n_path_fichero', '$fecha', '$orden' , '1', '$tipofile1', '$tipofile2', '$tipofile3', '$tipofile4')"
;
    

    
//echo $sql;
            
$resultado mysql_query($sql);
    if (!
$resultado)
    {
        
'Error, La consulta falló : '.mysql_error();
    }
     else {
             echo 
"<script>window.location = 'admin.php?op=noticias'; </script>";
     }
    
}



?>
SIGUE... ULTIMA PARTE.... (SORRY POR FLOOD... PEROE S NECESARIO... SON MAS DE 10000 CARACTERES....
  #9 (permalink)  
Antiguo 04/05/2009, 17:54
Avatar de SCY-FOX  
Fecha de Ingreso: septiembre-2007
Ubicación: Chile
Mensajes: 139
Antigüedad: 17 años, 2 meses
Puntos: 5
Respuesta: Subir mas de un archivo

En esta pagina tenia como fijo, 4 archivos, 4 campos en donde definir que clase o tipo de archivo subia y no era obligatorio subir archivo alguno, asi que tenia que validar todos los posibles estados y combinaciones de archivos on y off.

Además tiene el validador de titulo de mensaje y otras weas más.

Es ordenado pero poco eficiente. De seguro hay alguna forma de hacer más funcional todo.

La parte de TRUE y FALSE se encarga de verificar si se sube o no el archivo al server. Addslashes es para que no te metan weas extrañas. Lo mismo con la verificacion de magic_quotes.

La función para renombrar el archivo es esta:

Código PHP:
//Separa nombre de extension desde el punto. Luego toma extension le añade un punto y renombra con valor rand el nombre del fichero.
//permitiendo subir archivos existentes para otras secciones sin reescribir ficheros en servidor.
function renombrar($nombre_foto)
{
    
$random=mt_rand(1,15000); //Creo valor aleatorio
    
$ext substr(strrchr($nombre_foto,"."),1);     //Saco la extension del archivo
    
$xext ".".$ext//extension con Punto (.jpg)
    
$n basename($nombre_foto$xext);     //Nombre sin extension
    
$n trim($n); //Sacando espacios adelante y lados
    
$n ereg_replace(' ','_',$n); //Cambiando los espacios del medio con guion bajo    
    
$nombre_foto $n "-" $random $xext// Concatenando Nombre sin espacios y rand, con extension.

return $nombre_foto;

Me sirve para evitar que sobreescriban por error una foto o archivo adjuntado. (No falta que el que mete el mismo archivo en 2 campos por error y termina borrando algo importante)



Al final va el insert a la tabla con sus respectivos campos.

Hay harto codigo de debug que puedes borrar. y traté de comentar todo mientras lo hacia para acordarme después. Creo que lo necesitarás xDD

Suerte!!
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 22:03.