Foros del Web » Programando para Internet » PHP »

Problema cuando usuario intenta subir mas de 1 arcvhivo

Estas en el tema de Problema cuando usuario intenta subir mas de 1 arcvhivo en el foro de PHP en Foros del Web. Hola buenas tengo un formulario de envio de archivos, que me los guarda en una carpeta de mi servidor. El envio de archivos va bien, ...
  #1 (permalink)  
Antiguo 16/10/2008, 13:58
 
Fecha de Ingreso: octubre-2007
Mensajes: 203
Antigüedad: 16 años, 6 meses
Puntos: 0
Problema cuando usuario intenta subir mas de 1 arcvhivo

Hola buenas tengo un formulario de envio de archivos, que me los guarda en una carpeta de mi servidor.

El envio de archivos va bien, el problema es cuando el usuario intenta enviar el segundo archivo, ese no se porque pero no me llega.

Si cierra la sesion y vuelve a logearse entonces puede enviar otro correctamente, pero luego vuelve a aparecer el problema.

Sabeis porque puede suceder esto? Quizas tengo ke modificar algo en el php.ini?

Gracias a todos y saludos!

edit: Me acabo de dar cuenta de que tambien existe el problema de que si envio el mismo archivo no lo sube como nombrearchivo(2). Simplemente no lo sube.

Os pondre el codigo:

Formulario envio:
Código HTML:
<table border="0" align ="middle" cellspacing ="5" cellpadding ="5">
	<tr>
		<td align="MIDDLE"><br>
		<form action="envioVideos.php" method="post" enctype="multipart/form-data">
    		Archivo: <input name="fichero" type="file">
   			<input name="submit" type="submit" value="Upload!">
		</form>
		</td>
	</tr>
</table> 

PHP que lo gestiona:

Código PHP:
<?php
if (isset($_POST['submit'])) {
    if(
is_uploaded_file($_FILES['fichero']['tmp_name'])) { // verifica haya sido cargado el archivo
        
if(move_uploaded_file($_FILES['fichero']['tmp_name'], $_FILES['fichero']['name'])) { // se coloca en su lugar final
            
echo "<b>Upload exitoso!.</b>";

        }
    }
}
?>

Última edición por B4l4; 16/10/2008 a las 14:04
  #2 (permalink)  
Antiguo 16/10/2008, 14:15
Avatar de SergeMedina  
Fecha de Ingreso: septiembre-2007
Ubicación: Guadalajara, Jalisco
Mensajes: 459
Antigüedad: 16 años, 7 meses
Puntos: 20
Respuesta: Problema cuando usuario intenta subir mas de 1 arcvhivo

Te aparece algun error? Quieres subir mas de un archivo al mismo tiempo? Que te regresa el script?
  #3 (permalink)  
Antiguo 16/10/2008, 14:28
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Problema cuando usuario intenta subir mas de 1 arcvhivo

en el indice de las FAQ´S del foro de PHP

hay un script muy bueno de como subir los archivos que quieras

http://www.forosdelweb.com/948747-post139.html

Un saludo
  #4 (permalink)  
Antiguo 16/10/2008, 14:33
 
Fecha de Ingreso: octubre-2007
Mensajes: 203
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: Problema cuando usuario intenta subir mas de 1 arcvhivo

Es ese el que uso.

El problema viene cuando un usuario intenta subir su seguno archivo, osea primero sube un archivo, y sube perfectamente, pero cuando quiere subir otro, simplemente no se sube, y me dice el script que si se ha subido correctamente.
  #5 (permalink)  
Antiguo 16/10/2008, 14:35
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Problema cuando usuario intenta subir mas de 1 arcvhivo

postea el codigo, si modificaste algo
  #6 (permalink)  
Antiguo 16/10/2008, 14:38
 
Fecha de Ingreso: octubre-2007
Mensajes: 203
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: Problema cuando usuario intenta subir mas de 1 arcvhivo

El codigo ke postee antes es el mismo ke uso
  #7 (permalink)  
Antiguo 16/10/2008, 14:43
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Problema cuando usuario intenta subir mas de 1 arcvhivo

el codigo que te dije que usaras es este, creo que no leiste el post o te confundiste de post
con el que tienes solo sube uno

ariiba te deje el link

Código PHP:

<form action="" method="post" enctype="multipart/form-data" name="form1">
      Cantidad: <select name="cantidad">
                    <script type="text/javascript">
                    for(x=1;x<=10;x++){
                    document.write("<option value="+ x +">"+ x+"</option>");
                    }
                    </script>
      </select>
      <input type="submit" name="Submit" value="Submit"><br>
      

<?php    
 $uploaddir
=$_SERVER['DOCUMENT_ROOT']."/upload/imagenes/";

if(isset(
$_POST['Submit'])){
        echo 
"Elegir Im&aacute;genes para Subir<br>";
            for(
$i=1;$i<=$_POST['cantidad'];++$i){
                echo 
"<input type=\"file\" name=\"archivo[]\"><br>";
            }
        echo 
"<input type=\"submit\" name=\"Submit2\" value=\"Submit2\">";
        echo 
"<input type=\"hidden\" name=\"cant1\" value=\"$i\">";
    }
    
    if(isset(
$_POST['Submit2'])){
        
$cantidad2 =count($_FILES["archivo"]);
        for (
$j=0;$j<=$cantidad2;$j++){
                
$archivo $_FILES["archivo"]["tmp_name"][$j]; 
                
$tamanio $_FILES["archivo"]["size"][$j];
                
$tipo    $_FILES["archivo"]["type"][$j];
                
$nombre  $_FILES["archivo"]["name"][$j];

                    
$x=$j;
             do{
             
$x++;
                if( 
$archivo != "" ){
                           
$fp fopen($archivo"rb");
                           
$contenido fread($fp$tamanio);
                           
$contenido addslashes($contenido);
                           
fclose($fp);
                           
//AQUI  INSERTE EN LA BASE DE DATOS
                           
                           
if(copy($archivo$uploaddir.$nombre))
                                {
                                   echo 
$nombre." Subido con Exito<br>";
                                }
                           }
                        }while(
$x<$j);
             }
        }
        
?>
</form>
  #8 (permalink)  
Antiguo 16/10/2008, 15:13
 
Fecha de Ingreso: octubre-2007
Mensajes: 203
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: Problema cuando usuario intenta subir mas de 1 arcvhivo

No pero a ver.. yo quiero que lo haga como el otro, no quiero que le de la opcion a enviar n archivos de golpe, sino que envie 1, y si media hora mas tarde quiere enviar otro, pues que envie otro, sabeis que se puede modificar de mi codigo para que esto se cumpla?
  #9 (permalink)  
Antiguo 16/10/2008, 15:43
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Problema cuando usuario intenta subir mas de 1 arcvhivo

tendrias que tener en la bbdd otro campo con la hora de la ultima subida de archivos y restringir que no vuenva a subir otro en 30 minutos o los que sean
haciendo las comprovaciones mediante un IF

If hora de subida actual > 30 minutos (segun el nuevo campo de la bbdd)
le dejas subir

si no le mandas un mensaje de error

y si no tienes bbdd

pues usando archicvos de texto

pero es mejor con bbdd
  #10 (permalink)  
Antiguo 16/10/2008, 17:03
 
Fecha de Ingreso: octubre-2007
Mensajes: 203
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: Problema cuando usuario intenta subir mas de 1 arcvhivo

Jaronu es ke ahi no radica el problema... el problema es que si envia 1 archivo luego aunke pasen 3435 horas no puede enviar otro, hasta que de deslogea y vuelve a logearse. Es como si solo se pudiera subir 1 archivo por sesion.

Ademas si se sube el mismo archivo, o un archivo con el mismo nombre que 1 que ya tenga subido, este ultimo no se sube, como se puede arreglar esto?

Espero que ahora me haya explicado con claridad, xD

Gracias por vuerstro tiempo
  #11 (permalink)  
Antiguo 16/10/2008, 17:12
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Problema cuando usuario intenta subir mas de 1 arcvhivo

Ya te entiendo, y es raro, yo tengo un code parecido al tuyo y subo los archivos que quiero sin problemas, no seran restricciones de tu hosting?

y para el nombre de archivo le podrias concatenar la hora y segundos a los nombres de los archivos o algun numero aleatorio, para que nunca coincidan los nombres de archivos aunque se supone que si subes un archivo con nombre ya existente se sobreescribe.

pero lo de que no puedan subir mas de uno hasta volverse a loguear me suena muy raro.
  #12 (permalink)  
Antiguo 16/10/2008, 17:13
 
Fecha de Ingreso: octubre-2007
Mensajes: 203
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: Problema cuando usuario intenta subir mas de 1 arcvhivo

Ya, estoy trabajando en local.

Como podria concatenarlo con la fecha de subida?
  #13 (permalink)  
Antiguo 16/10/2008, 17:16
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Problema cuando usuario intenta subir mas de 1 arcvhivo

Y ademas guardas no guardas los archivos en ninguna carpeta,

el segundo parametro de move_uploaded_file es la ruta de destino

yo uso una carpeta para imagenes aparte de mi directorio raiz

a ver si es ese tu problema.
  #14 (permalink)  
Antiguo 16/10/2008, 17:19
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Problema cuando usuario intenta subir mas de 1 arcvhivo

Código PHP:



<?php
if (isset($_POST['submit'])) {
    if(
is_uploaded_file($_FILES['fichero']['tmp_name'])) { // verifica haya sido cargado el archivo

       
$nuevo_nombre $_FILES['fichero']['tmp_name'].date(H-i-s); //aqui tambien le agrego la ruta a donde ha de ir a mi carpeta archivos
        
if(move_uploaded_file($_FILES['fichero']['tmp_name'], $nuevo_nombre)) { // se coloca en su lugar final
            
echo "<b>Upload exitoso!.</b>";

        }
    }
}
?>
  #15 (permalink)  
Antiguo 17/10/2008, 04:26
 
Fecha de Ingreso: octubre-2007
Mensajes: 203
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: Problema cuando usuario intenta subir mas de 1 arcvhivo

Si no te importa podrias poner el codigo que tu usas?

El formulario de envio, y el script php que lo regula?
  #16 (permalink)  
Antiguo 17/10/2008, 04:32
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Problema cuando usuario intenta subir mas de 1 arcvhivo

Los tengo en este post de SISTEMA Y APORTES PHP

http://www.forosdelweb.com/f18/aport...te-1-a-561439/

Estan en el primer script, si no almacenas nada en una BBDD omite esa parte y solo falta que concatenes al nombre del archivo la hora como te mostre en el post de arriba

Un saldo
  #17 (permalink)  
Antiguo 17/10/2008, 04:38
 
Fecha de Ingreso: octubre-2007
Mensajes: 203
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: Problema cuando usuario intenta subir mas de 1 arcvhivo

Vaya pedazo de aporte, muchas gracias, cuando llegue a casa me pongo a mirarlo y a intentar adaptarlo a mi problema. Si me surge algun inconveniene ya te lo pregunto en ese hilo.

Gente como tu hace grande forosdelweb .
  #18 (permalink)  
Antiguo 17/10/2008, 05:10
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: Problema cuando usuario intenta subir mas de 1 arcvhivo

los archivos se llaman igual? digo si se llaman igual si lo sube solo que sobreescribes el anterior, haz probado con cambiarle el nombre o bien que al ingresar le añadas algún numero aleatorio para que no halla duplicas...

saludos
__________________
Gokuh Salvo al mundo. PUNTO!!!!
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 23:25.