Foros del Web » Programando para Internet » PHP »

Problema con subida múltiple de imágenes

Estas en el tema de Problema con subida múltiple de imágenes en el foro de PHP en Foros del Web. Buenas. Estoy utilizando una subida múltiple de ficheros (en este caso imágenes), para lo cual me ayudé de estas funciones de jQuery -> multiple-file-upload Bien, ...
  #1 (permalink)  
Antiguo 18/11/2011, 16:00
Avatar de Lobito14  
Fecha de Ingreso: abril-2010
Mensajes: 222
Antigüedad: 14 años
Puntos: 17
Problema con subida múltiple de imágenes

Buenas.

Estoy utilizando una subida múltiple de ficheros (en este caso imágenes), para lo cual me ayudé de estas funciones de jQuery -> multiple-file-upload

Bien, para ir probandolo, tengo creado estos archivos:

subir.html
Código HTML:
<script language="javascript" src="js/jquery-latest.js"></script>
<script language="javascript" src="js/jquery.MultiFile.js"></script>

<form action="upload.php" id="frm_uploader" name="frm_uploader" method="post" enctype="multipart/form-data">
<ol>
    <li><label>Name:</label><input type="text" id="cfname" name="fname" size="30" class="required" /></li>
        <li><label>E-mail:</label><input type="text" id="cfemail" name="femail" size="30" class="required email" /></li>
    <li><label>Select Files</label><input name="ffoto[]" type="file" class="multi accept-gif|jpg|jpeg|png|pdf|zip|rar|ai|eps|mp3|avi|wmv|mpg|mpeg|cdr" /></li>
        <li><p align="center"><input type="submit" name="submit" value="Upload Now" class="btn" /></p></li>
</ol>
</fieldset>
</form> 
upload.php
Código PHP:
<?php
    $nro
=count($_FILES["ffoto"]["name"]);
    print(
$nro);
    print(
"<br>");
    print(
$_POST['femail']);
    print(
"<br>");
    print(
$_POST['fname']);
    print(
"<br>");
    
/// Empezamos el array
    
for ($i=0$i<=$nro$i++) {
        
$file_name=$_FILES["ffoto"]["name"][$i];
        
$file_size=$_FILES["ffoto"]["size"][$i];
        
$file_type=$_FILES["ffoto"]["type"][$i];
        
        print(
$file_name);
        print(
"<br>");
        print(
$file_size);
        print(
"<br>");
        print(
$file_type);
        print(
"<br>");
        print(
"<br>");
    }
?>
Hasta ahí mis archivos. Los incluidos de javascript no los pongo porque son genéricos descargados de la web del múltiple upload.

Pues el problema es que no se a que se debe, algunas veces "sube" bien las imágenes, otras no... Y no logro identificar donde estaría el problema.

Si alguien ha trabajado con estas funciones o ve algún fallo evidente agradecería la ayuda, ya que no se por donde tirar.

Saludos y gracias.
  #2 (permalink)  
Antiguo 18/11/2011, 17:54
 
Fecha de Ingreso: noviembre-2011
Ubicación: Morelia, Mich, México
Mensajes: 95
Antigüedad: 12 años, 5 meses
Puntos: 18
Respuesta: Problema con subida múltiple de imágenes

El código de php esta correcto. Podría ser que estes mandando extensiones en .JPG en vez de jpg que es lo que validas.

Por que fuera de eso no veo otro error.

Puedes usar tambien http://jquery.malsup.com/form/ es el que yo siempre uso y me funciona a la perfeccion, si te interesa te puedo pasar una clase en php para subir archivos, te valida, limpia los nombres y todo para darle seguridad

Última edición por JavierB; 19/11/2011 a las 03:28
  #3 (permalink)  
Antiguo 19/11/2011, 08:05
 
Fecha de Ingreso: noviembre-2011
Ubicación: Cordoba
Mensajes: 42
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Problema con subida múltiple de imágenes

Hola compa ahi modifique tu codigo, fijate si funciona, creeria que tenias algunos detalles. saludos.



<?php
$nro=count($_FILES["ffoto"]);
print($nro);
print("<br>");
print($_POST['femail']);
print("<br>");
print($_POST['fname']);
print("<br>");
/// Empezamos el array
if(isset($nro)){
$nro=count($_FILES["ffoto"]["name"]);
for ($i=0; $i < $nro; $i++) {
$file_name1=$_FILES["ffoto"]["name"][0];
$file_name2=$_FILES["ffoto"]["name"][1];
$file_name3=$_FILES["ffoto"]["name"][2];
$file_name4=$_FILES["ffoto"]["name"][3];


// $file_size=$_FILES["ffoto"]["size"][$i];
//$file_type=$_FILES["ffoto"]["type"][$i];




/* print($file_name);
print("<br>");
print($file_size);
print("<br>");
print($file_type);
print("<br>");
print("<br>"); */
}
}
?>
<?php

echo $file_name1;
echo $file_name2;
echo $file_name3;
echo $file_name4;
?>
  #4 (permalink)  
Antiguo 19/11/2011, 12:53
Avatar de Lobito14  
Fecha de Ingreso: abril-2010
Mensajes: 222
Antigüedad: 14 años
Puntos: 17
Respuesta: Problema con subida múltiple de imágenes

Cita:
Iniciado por quedecosas Ver Mensaje
El código de php esta correcto. Podría ser que estes mandando extensiones en .JPG en vez de jpg que es lo que validas.

Por que fuera de eso no veo otro error.

Puedes usar tambien http://jquery.malsup.com/form/ es el que yo siempre uso y me funciona a la perfeccion, si te interesa te puedo pasar una clase en php para subir archivos, te valida, limpia los nombres y todo para darle seguridad

Gracias por tu respuesta quedecosas, he comprobado lo de las extensiones, y subiendo 4 imágenes en .jpg sigue fallando... bastante extraño.

Creo que puede interesarme la clase que me comentas, porque con esto que estoy utilizando no me termina de funcionar. Y necesito subir X imagenes, que las guardes en X carpeta del servidor e introduzca los datos en una bd con MySQL....

Gracias.
  #5 (permalink)  
Antiguo 19/11/2011, 12:55
Avatar de Lobito14  
Fecha de Ingreso: abril-2010
Mensajes: 222
Antigüedad: 14 años
Puntos: 17
Respuesta: Problema con subida múltiple de imágenes

Cita:
Iniciado por webAp Ver Mensaje
Hola compa ahi modifique tu codigo, fijate si funciona, creeria que tenias algunos detalles. saludos.



<?php
$nro=count($_FILES["ffoto"]);
print($nro);
print("<br>");
print($_POST['femail']);
print("<br>");
print($_POST['fname']);
print("<br>");
/// Empezamos el array
if(isset($nro)){
$nro=count($_FILES["ffoto"]["name"]);
for ($i=0; $i < $nro; $i++) {
$file_name1=$_FILES["ffoto"]["name"][0];
$file_name2=$_FILES["ffoto"]["name"][1];
$file_name3=$_FILES["ffoto"]["name"][2];
$file_name4=$_FILES["ffoto"]["name"][3];


// $file_size=$_FILES["ffoto"]["size"][$i];
//$file_type=$_FILES["ffoto"]["type"][$i];




/* print($file_name);
print("<br>");
print($file_size);
print("<br>");
print($file_type);
print("<br>");
print("<br>"); */
}
}
?>
<?php

echo $file_name1;
echo $file_name2;
echo $file_name3;
echo $file_name4;
?>
Gracias por tu respuesta webAp.

La verdad es que no termino de comprender tus modificaciones, guardas el nombre de 4 archivos en este caso. Lo cual seria innecesario entrar en un bucle for, ya que tu les pones los indices... entonces no le veo la lógica.

Gracias.
  #6 (permalink)  
Antiguo 19/11/2011, 16:07
Avatar de Lobito14  
Fecha de Ingreso: abril-2010
Mensajes: 222
Antigüedad: 14 años
Puntos: 17
Respuesta: Problema con subida múltiple de imágenes

He probado en localhost, y no existe este problema... lo que me da entender que el hosting puede tener algún tipo de time-out cuando el formulario está tardando mucho en enviar la información??

He abierto un ticket con los del hosting, pero aún así, si alguien puede arrojar algo de luz al asunto lo agradecería.

Un saludo.
  #7 (permalink)  
Antiguo 19/11/2011, 16:43
Avatar de Antonio_España  
Fecha de Ingreso: mayo-2007
Mensajes: 58
Antigüedad: 17 años
Puntos: 4
Respuesta: Problema con subida múltiple de imágenes

Si, una causa podria ser esa.

Esto iria normalmente en el directorio raiz de tu web, en php.ini:
Código:
upload_max_filesize = 100M
max_input_time = -1
safe_mode = Off
max_execution_time = 3600
default_socket_timeout = 3660
__________________
Aprendiz autodidacta
  #8 (permalink)  
Antiguo 19/11/2011, 17:44
Avatar de Lobito14  
Fecha de Ingreso: abril-2010
Mensajes: 222
Antigüedad: 14 años
Puntos: 17
Respuesta: Problema con subida múltiple de imágenes

Gracias por la información Antonio_España

A ver si me responden al ticket que abrí con los del hosting y me dan algún tipo de solución...porque por otro lado no se donde podría estar el problema.
  #9 (permalink)  
Antiguo 20/11/2011, 04:09
Avatar de Lobito14  
Fecha de Ingreso: abril-2010
Mensajes: 222
Antigüedad: 14 años
Puntos: 17
Respuesta: Problema con subida múltiple de imágenes

Buenas, esta es la respuesta que me han dado desde el hosting...

Cita:
Buenas Noches,

Hemos estado haciendo pruebas, y efectivamente los hostings tienen unos limites de conexion de datos, en el momento en el que sobrepase la conexion, por seguridad y por evitar sobrecargas, puede bloquear la IP, y por eso el fallo.

No es un error en si, sino que hay unos limites que no se pueden sobrepasar, y el script genera mas de 100 conexiones persistentes, lo cual, cuando pasa de la 100, bloquea.

Un Saludo
Bastante lamentable... no me solucionan nada...

Etiquetas: html, múltiple, subida
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 17:25.