Ver Mensaje Individual
  #7 (permalink)  
Antiguo 29/09/2008, 20:51
marcinf2
 
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 461
Antigüedad: 22 años, 4 meses
Puntos: 1
Respuesta: un problema al subir archivo

korg1988: solo me sube a la bd y me copia a la carpeta el primer archivo que subo

no se que estoy haciendo mal aqui dejo el codigo completo

formulario:
Código PHP:
<FORM enctype="multipart/form-data" method="post" action="insertar.php">
Archivo: <INPUT type="file" name="archivo[]" size="30"><br>
Archivo: <INPUT type="file" name="archivo[]" size="30"><br>
<
INPUT type="submit" name="submit" value="Subir archivo">
</
FORM
insertar.php:

Código PHP:
<?php
//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;
}

//establece una conexión con la base de datos.
$conexion mysql_connect("localhost","..","....") or die("No se pudo realizar la conexion con el servidor.");
mysql_select_db("imagen",$conexion) or die("No se puede seleccionar BD"); // 

// 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
$image_name=time().'.'.$tipo;

//copio al directorio especificado
move_uploaded_file $_FILES 'archivo' ][ 'tmp_name' ][$i], $destino '/' .$image_name.'.'.$tipo);  // 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

//insertamos los datos en la BD.
$consulta_insertar "INSERT INTO img (id, titulo, descrip, img1, img2) VALUES ('', '', '', 'foto/$image_name', '')";
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;
}
?>
puede ser que en esta linea falle??

Código PHP:
//nombre aleatorio por formato de tiempo unix
$image_name=time().'.'.$tipo
__________________
Marcelo Acampora
mi pagina web personal
www.destinitytravel.com