Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/10/2008, 09:06
marcinf2
 
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 461
Antigüedad: 22 años, 3 meses
Puntos: 1
No introduce el ultimo archivo dentro de BD

tengo este formulario que sube 4 archivos de imagen y dos campos de textos a la Bd

Código PHP:
<FORM enctype="multipart/form-data" method="post" action="insertar.php">
titulo:&nbsp;<input type="text" name="titulo" id="titulo">
<
br><br>
descrip:&nbsp;<input type="text" name="descrip" id="descrip">
<
br><br>
Archivo: <INPUT type="file" name="archivo[]" size="30"><br><br>
Archivo: <INPUT type="file" name="archivo[]" size="30"><br><br>
Archivo: <INPUT type="file" name="archivo[]" size="30"><br><br>
Archivo: <INPUT type="file" name="archivo[]" size="30"><br><br>
<
INPUT type="submit" name="submit" value="Subir archivo">
</
FORM
y este codigo que me sube los archivos a una carpeta y lo introduce en Bd

insertar.php

Código PHP:
<?php
//establece una conexión con la base de datos.
$conexion mysql_connect("localhost","usuario","password") or die("No se pudo realizar la conexion con el servidor.");
mysql_select_db("imagen",$conexion) or die("No se puede seleccionar BD");

//un for que recorra todos los archivos subidos
for($i=0;$i<sizeof($_FILES['archivo']['name']); $i++)
{
    
//Primero, arranca el bloque PHP y checkea si el archivo tiene nombre.  Si no fue asi, te remite de nuevo al formulario de inserción:
    
if (empty($_FILES['archivo']['name'][$i])){
        
header("location: imagen2.php?proceso=falta_indicar_fichero"); //o como se llame el formulario ..
        
exit;
    }
    
    
// archivo temporal (ruta y nombre).
    
$nombre_temporal=$_FILES['archivo']['tmp_name'][$i] ;
    
    
// leer del archvio temporal...
    
$contenido addslashes(fread(fopen($nombre_temporal"rb"), filesize($nombre_temporal)));
    
    
// Obtener del array FILES (superglobal) los datos del archivo .. nombre, tabamo y tipo.
    
$nombre=$_FILES['archivo']['name'][$i];
    
$peso=$_FILES['archivo']['size'][$i];
    
$tipo=$_FILES['archivo']['type'][$i];
    
    
//restringir tamaño de archivo permitido
    
$tamano $_FILES 'archivo' ][ 'size' ][$i]; // Leemos el tamaño del fichero
    
$tamaño_max="100000"// Tamaño maximo permitido
    
    
if( $tamano $tamaño_max){ // Comprovamos el tamaño 
        
        //guardar en carpeta
        
$destino 'foto' // Carpeta donde se guardata
        
$sep=explode('image/',$_FILES["archivo"]["type"][$i]); // Separamos image/
        
$tipo=$sep[1]; // Obtenemos el tipo de imagen que es
        
        
if($tipo == "gif" || $tipo == "jpeg" || $tipo == "bmp"){ 
            
//nombre aleatorio por formato de tiempo unix
            
$imagen1 rand(0,9999999999).rand(100,9999).rand(100,9999).'.'.$sep[1];
          
            
//copio al directorio especificado
            
move_uploaded_file $_FILES 'archivo' ][ 'tmp_name' ][$i], $destino '/' .$imagen1);  // Subimos el archivo
        
} else {
            die(
"el tipo de archivo no es una imagen permitida") ;// Si no es el tipo permitido lo decimos
        
}
        
    } else {
        die(
"El archivo supera el tamaño permitido.") ;// Si supera el tamaño de permitido lo decimos
    
}
    
  if(
$i==0){ $img1 $imagen1; } elseif($i==1){ $img2 $imagen1; }
  if(
$i==3){ $img3 $imagen1; } elseif($i==4){ $img4 $imagen1; }  
    
}
//insertamos los datos en la BD.
    
$consulta_insertar "INSERT INTO img (id, titulo, descrip, img1, img2, img3, img4) VALUES ('', '$titulo', '$descrip', '$img1', '$img2', '$img3', '$img4')";
    
mysql_query($consulta_insertar,$conexion) or die("No se pudo insertar los datos en la base de datos.");
    
header("location: listar_imagenes.php");  // si ha ido todo bien
exit;
?>
solo me sube los 3 archivos de imagen no los 4 que tengo a la base de datos

supongo que esta linea esta mal pero no se como arreglarla si es asi

Código PHP:
  if($i==0){ $img1 $imagen1; } elseif($i==1){ $img2 $imagen1; }
  if(
$i==3){ $img3 $imagen1; } elseif($i==4){ $img4 $imagen1; } 
__________________
Marcelo Acampora
mi pagina web personal
www.destinitytravel.com