Foros del Web » Programando para Internet » PHP »

Error al recibir en php varios input file

Estas en el tema de Error al recibir en php varios input file en el foro de PHP en Foros del Web. Hola a todos, os planteo mi situacion: Estoy haciendo una pagina web que tiene una parte trasera para actualizar el catalogo, y tengo una parte ...
  #1 (permalink)  
Antiguo 29/09/2010, 10:38
 
Fecha de Ingreso: junio-2010
Mensajes: 76
Antigüedad: 14 años, 5 meses
Puntos: 2
Error al recibir en php varios input file

Hola a todos, os planteo mi situacion:
Estoy haciendo una pagina web que tiene una parte trasera para actualizar el catalogo, y tengo una parte que es la de subir imagenes desde un formulario y creo dinamicamente los input file al apretar un boton, al hacer submit al form, hago un var_dump($_FILES) y resulta que recoge la primera imagen bien pero las creadas dinamicamente no.
A continuacion os dejo un trozo del codigo para no aburriros demasiado:
JAVASCRIPT:
function crea_file(){
num=document.getElementById('add_hdn').value;
document.getElementById('span_files').innerHTML+=" <input name='img_"+num+"' type='file' style='display:block'/>";
num++;
}
PHP:
Y en $_FILES hay esto
array(3) { ["img_0"]=> array(5) { ["name"]=> string(12) "botones5.jpg" ["type"]=> string(10) "image/jpeg" ["tmp_name"]=> string(18) "/usr/tmp/phpAypDzS" ["error"]=> int(0) ["size"]=> int(50320) } ["img_1"]=> array(5) { ["name"]=> string(0) "" ["type"]=> string(0) "" ["tmp_name"]=> string(0) "" ["error"]=> int(4) ["size"]=> int(0) } ["img_2"]=> array(5) { ["name"]=> string(11) "2ivlap3.jpg" ["type"]=> string(0) "" ["tmp_name"]=> string(0) "" ["error"]=> int(2) ["size"]=> int(0) } }

Se supone que subo 3 imagenes pero no lo recoge bien, a ver si alguien es tan amable de echarme un cable.
Gracias de antemano, y lo siento por no poner acentos
  #2 (permalink)  
Antiguo 29/09/2010, 11:27
 
Fecha de Ingreso: septiembre-2010
Mensajes: 24
Antigüedad: 14 años, 1 mes
Puntos: 3
Respuesta: Error al recibir en php varios input file

Hola JOkuto, yo utilizo un codigo mucho mas simple y me funciona perfecto, tengo definido un input

<input name="archivo" type="file" id="archivo" />

y luego en PHP hago esto


$archi=$_FILES['archivo']['name'];

$date=date("h-i-s");

// le pego los segundos y un numero que se incremente si subes varias imagenes a la vez para que no tengan el mismo nombre, tambien puedes aplicar alguna funcion para sacar caracteres extraños..

$archi2 = $date . '1' . $archi;

if($archi!=""){

$extensiones=array("html","exe","php");
/*carpeta donde se sube la imagen original en el FTP*/
$path = "archivos/";

//Aqui le pego el path a la ruta definitiva.

$archi2 = $path . $archi2;

$nombres= $_FILES['archivo']['name'];
$tamanio=$_FILES['archivo']['size'];
$tipo=$_FILES['archivo']['type'];
$var = explode(".","$nombres");
$num = count($extensiones);
$valor = $num-1;

//Valido la extension del archivo, esto si el nombre tiene puntos puede traer problemas, lo puedes sacar si quieres

for($i=0; $i<=$valor; $i++) {
if($extensiones[$i] == $var[1]) {
echo "Tipo de Archivo no admitido $nombres";
exit;
}
}
if (is_uploaded_file($_FILES['archivo']['tmp_name']))
{

move_uploaded_file($_FILES['archivo']['tmp_name'],$archi2);

//le cambio los permisos por las dudas, dependiendo del servidor te los puede dejar sin permisos para leer.
chmod($archivo_final,0666);
}
}
  #3 (permalink)  
Antiguo 30/09/2010, 02:20
 
Fecha de Ingreso: junio-2010
Mensajes: 76
Antigüedad: 14 años, 5 meses
Puntos: 2
Respuesta: Error al recibir en php varios input file

Hola NicolasSui, gracias por tu codigo pero ya tengo escrita esa parte xD y no era exactamente lo que buscaba pero gracias igualmente, sin embargo ya he solucionado mi problema poniendo <INPUT type="hidden" name="MAX_FILE_SIZE" VALUE=" 8000000" />

Etiquetas: file, input, recibir
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 21:23.