Foros del Web » Programando para Internet » PHP »

problemas al subir fotos al servidor

Estas en el tema de problemas al subir fotos al servidor en el foro de PHP en Foros del Web. hola maestros: tengo un pequeño problema al subir fotos con la funcion move_uploaded_file() dentro de un loop. el usuario puede elegir la cantidad de fotos ...
  #1 (permalink)  
Antiguo 30/03/2011, 10:20
Avatar de intiweb  
Fecha de Ingreso: mayo-2009
Ubicación: Capital Federal
Mensajes: 363
Antigüedad: 14 años, 11 meses
Puntos: 5
problemas al subir fotos al servidor

hola maestros:
tengo un pequeño problema al subir fotos con la funcion move_uploaded_file() dentro de un loop.
el usuario puede elegir la cantidad de fotos que quiere subir por lo que desde que marca la cantidad de fotos todo el programa se maneja dentro de un loop que repite codigos. al principio crea un formulario con la cantidad de campos de archivos como el usuario aya pedido y luego con un loop sube cada una de las fotos de esos campos al servidor.
mi problema es que no se por que desde la foto numero 10 en adelante da un error al subir la foto y no la sube.

les dejo el codigo que hise para que vean cual puede ser el error.

Código PHP:
$a 1;

// $numphotos es la cantidad de fotos que el usuario pidio subir
     
     
for($a>=1$a<=$numphotos$a++)
                     {
                           
$namefile "photo_".$a// este es el nombre del campo de archivo lo creo dinamicamente porque no se cuantos son
                           
                           
                           
if ($a 1000 or $a == 10000)
                           
$realname $a;
                           elseif (
$a 100 or $a == 100)
                           
$realname "0".$a;
                           elseif (
$a 10 or $a == 10)
                           
$realname "00".$a;
                           elseif (
$a 10)
                           
$realname "000".$a;
                           
                    
// SUBO LA FOTO GRANDE
                   
$destino "../fotos/".$namealbum;
                   
                   
// ME FIJO SI EXISTE LA CARPETA PARA CREARLA
                   
if(!file_exists($destino))
                        {
                            
mkdir($destino);
                        }
                     
//leemos el nombre del fichero
                   
$filename $_FILES[$namefile][ 'name' ];
                   
// Leemos el tamaño del fichero
                   
$tamano $_FILES[$namefile][ 'size' ];
                   
//leemos el tipo del fichero
                  
$tipo $_FILES[$namefile][ 'type' ];
                   
// Comprovamos el tamaño y tipo
                 
if ($tamano 5000000 || $tipo == "jpg")
                        {
                              
$move move_uploaded_file ($_FILES[$namefile][ 'tmp_name' ], $destino '/' $realname .'.jpg');
                        }
                 else
                        {
                              echo 
"el tamaño o el tipo de archivo es incorrecto<p />";
                        }
                              
                 if (!
$move)
                        {
                               echo 
"no se pudo subir la Foto Nº$a Grande</br>";
                        }
                else
                        {      
                               echo 
"La foto Nº$a grande se cargo correctamente<br />";
                               
$chmod $destino '/' $realname .'.jpg';
                               
chmod("$chmod"0777);
                              
                        }
                        
                           
                           
$namefile "photo_".$a."_chica";
                           
                        
                        
                    
// SUBO LA FOTO CHICA
                   
$destino "../previeb/".$namealbum;
                    if(!
file_exists($destino))
                        {
                            
mkdir($destino);
                        }
                   
//leemos el nombre del fichero
                   
$filename $_FILES[$namefile][ 'name' ];
                   
// Leemos el tamaño del fichero
                   
$tamano $_FILES[$namefile][ 'size' ];
                   
//leemos el tipo del fichero
                  
$tipo $_FILES[$namefile][ 'type' ];
                   
// Comprovamos el tamaño y tipo
                 
if ($tamano 5000000 || $tipo == "jpg")
                        {
                              
$move move_uploaded_file ($_FILES[$namefile][ 'tmp_name' ], $destino '/' $realname .'.jpg');
                        }
                 else
                        {
                              echo 
"el tamaño o el tipo de archivo es incorrecto<p />";
                        }
                              
                 if (!
$move)
                        {
                               echo 
"no se pudo subir la Foto Nº$a Chica<p />";
                        }
                else
                        {      
                               echo 
"La foto Nº$a Chica se cargo correctamente<p />";
                               
$chmod $destino '/' $realname .'.jpg';
                               
chmod("$chmod"0777);
                              
                        } 
__________________
un saludo..... . . .
  #2 (permalink)  
Antiguo 30/03/2011, 10:52
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: problemas al subir fotos al servidor

pésima idea...

realmente la técnica para resolver esto de un solo tajo es agrupar naturalmente los campos que necesitas...
Código HTML:
<input type="file" name="nombre[0]"/>
<input type="file" name="nombre[1]"/>
<input type="file" name="nombre[2]"/> 
así tienes todos los valores agrupados en un solo arreglo, y de ahí sin importar si tienes 10, 100 o 1000 campos mediante un sencillo código puedes resolverlo...

te invito a consultar el manual...
http://php.net/manual/en/features.file-upload.php
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 30/03/2011, 12:07
Avatar de intiweb  
Fecha de Ingreso: mayo-2009
Ubicación: Capital Federal
Mensajes: 363
Antigüedad: 14 años, 11 meses
Puntos: 5
Respuesta: problemas al subir fotos al servidor

mmmm o no me entendiste a mi o yo no te entiendo a vos. el formulario lo creo con un loop y dentro de ese loop lo que hago es mostrar un campo file que de nombre le pongo photo_$a donde a es una variable que con tiene un numero natural que arranca en 1 y cada vuelta del loop aumenta. de esta manera si el usuario puso 10 se crean 10 campos file y si puso 20 se crean 20 campos file.
en la pag siguiente donde se envio el form hay un loop que es el que escribi anteriormente que recupera uno por uno esos campos file y sube las fotos que contenga.
en esa parte falla. me explique ?
o capas que yo no te entiendo bien a vos no se
__________________
un saludo..... . . .
  #4 (permalink)  
Antiguo 30/03/2011, 12:14
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: problemas al subir fotos al servidor

yo te he entendido perfectamente, porque la técnica que usas es un viejo -y mal- truco, no es recomendable nombrar los campos relacionados con sufijos/prefijos ya que para eso existe otro tipo de notación mas dinámica y efectiva!!

aquí a lo que voy es, ¿para que ayudarte a solucionar algo que de inicio esta mal implementado?

sería como parchear algo que inevitablemente terminara roto, y así no vale la pena esforzarse.... en cambio, si lees con atención lo que te he dicho, y lees las referencias seguro que podrás mejorar tu script...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 30/03/2011, 13:12
Avatar de intiweb  
Fecha de Ingreso: mayo-2009
Ubicación: Capital Federal
Mensajes: 363
Antigüedad: 14 años, 11 meses
Puntos: 5
Respuesta: problemas al subir fotos al servidor

ahi estuve leyendo donde me dijiste.
mas especificamente en este link:

http://www.php.net/manual/en/feature...d.multiple.php

lo que entendi es que si les pongo el mismo nombre al campo file en el formulario el lo convierte en un array que luego lo utilizo.

si estoy en lo correcto.

1. no evito hacer un loop para subir los datos del array ya que no se cuan largo es el array

2 es casi lo mismo que hago yo solo que en ves de llamarlos diferente los mete en un array que al fin del cuentas tengo que llamar a trabes de un numero "igual que yo".

estoy en lo correcto o estoy muy perdido ?
__________________
un saludo..... . . .
  #6 (permalink)  
Antiguo 30/03/2011, 13:19
Avatar de intiweb  
Fecha de Ingreso: mayo-2009
Ubicación: Capital Federal
Mensajes: 363
Antigüedad: 14 años, 11 meses
Puntos: 5
Respuesta: problemas al subir fotos al servidor

mmm como no encuentro error en mi cod y este es similar se me ocurrio pensar que el error era el siguiente.

dentro del manual en una parte dice:

Since PHP 5.2.12, the max_file_uploads configuration setting acts as a limit on the number of files that can be uploaded in one request. You will need to ensure that your form does not try to upload more files in one request than this limit.

o sea que no me deja subir mas de una sierta cantidad de archivos eso es cierto ?
__________________
un saludo..... . . .
  #7 (permalink)  
Antiguo 30/03/2011, 14:00
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: problemas al subir fotos al servidor

así es, para todo lo que dices hay una verdad... si, todo es configuración; si, es casi lo mismo que haces ahorita; si, aún así vas a necesitar un loop...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 30/03/2011, 14:12
Avatar de intiweb  
Fecha de Ingreso: mayo-2009
Ubicación: Capital Federal
Mensajes: 363
Antigüedad: 14 años, 11 meses
Puntos: 5
Respuesta: problemas al subir fotos al servidor

ok. entonces voy bien jaja pero igual voy a implementar el metodo que me pasaste ya que es menos probable a errores.
ahora el echo de que no pueda subir mas de cierta cantidad es configurable entonces ?.
porque me parese que en mi servidor si andaba subir muchas fotos entonces les tendria que desir a los del hosting que modificaran la configuracion para que me permita hacerlo ?

es viable eso ?
muchas gracias !!!
__________________
un saludo..... . . .
  #9 (permalink)  
Antiguo 30/03/2011, 15:10
Avatar de ricardo_tu  
Fecha de Ingreso: noviembre-2010
Ubicación: Mas aca del mas alla
Mensajes: 222
Antigüedad: 13 años, 5 meses
Puntos: 32
Respuesta: problemas al subir fotos al servidor

Hola, después de leerte apuesto uno y la mitad del otro a que el problema está en la configuración del servidor, con phpinfo(); podrás ver el numero que indica la casilla: max_file_uploads, ese el numero máximo de archivos que puedes subir de un tirón.

Código PHP:
<?php

phpinfo
();

?>
__________________
La ciencia al poder. Pazciencia ya viene
  #10 (permalink)  
Antiguo 30/03/2011, 15:28
Avatar de intiweb  
Fecha de Ingreso: mayo-2009
Ubicación: Capital Federal
Mensajes: 363
Antigüedad: 14 años, 11 meses
Puntos: 5
Respuesta: problemas al subir fotos al servidor

si, ya probé mirar la configuración del servidor, pero como es un hosting contratado tienen configurado para que no lo muestre, por cuestiones de seguridad, igual arme un servidor en mi pc y lo probé y anda perfect así que les mande un email para que me corrigieran la configuración asi empieza a andar
gracias chicos por la ayuda, si no fuera por ustedes capas todavía estoy viendo donde cometí un error que no existe jaja .
ahora espero que lo cambien jaja.
__________________
un saludo..... . . .

Etiquetas: fotos, servidor
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 08:43.