Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/11/2008, 22:14
locoxchacho
 
Fecha de Ingreso: septiembre-2008
Ubicación: Nuñez, Capital Federal
Mensajes: 423
Antigüedad: 15 años, 8 meses
Puntos: 1
Pregunta No me toma la extensión del archivo

Buenas... quería pedirles ayudar porque estoy ante un problema con el cual llevo horas y no logro resolverlo! El problema es el siguiente: tengo un formulario donde puedo subir archivos dinamicamente, con esto me refiero que, si deseo enviar un archivo, apreto agregar archivo, si deseo enviar 2, apreto 2 veces, etc. Al fin y al cabo, como el bendito GMAIL, nada nuevo!

Ahora, el problema lo tengo cuando el servidor recibe esa información enviada por el usuario. Para subir todos los archivos, utilizo un for, y creo un ID aleatorio para renombrar los archivos y guardarlos con un nombre aleatorio. La idea es que conserven la extensión que tenían cuando el usuario los suba. Para ello cree este codigo:

Código PHP:
$num count($_FILES['archivos']['name']);
      for(
$i=0$i<$num$i++)
      {        
      
$archivo$_FILES['archivos']['name'];
      
      
$id md5(uniqid(rand(), true)); 
      
      
$ext stristr($archivo,'.');
      
      
$nvo$id"."$ext ;
      
      
$ruta"../proyectos/archivos/".$nvo
      
      
move_uploaded_file($_FILES['archivos']['tmp_name'][$i], $ruta);} 
Ahora, lo que no funciona, obviamente, es la variable $ext, pues al mover el archivo a la carpeta indicada, los archivos son guardados como: "nomrealeatorio. ", sin la extension. Es decir, crea la cadena aleatoria, pone el punto, pero no la extensión. Ya traté con otras formas para $ext, que encontré en este foro, las cuales detallo:

Código PHP:
$ext=$_FILES['tu_archivo']['type']; 
Código PHP:
$ext=pathinfo($_FILES['userfile']['name'], PATHINFO_EXTENSION); 
Código PHP:
$extsubstr(strrchr($chivo"."),1); 
Y en ninguno tuve exito. Lo más raro es que, en un upload comun, es decir, en un formulario donde solo envio un archivo, y no utilizo ningun for a la hora de recibir los datos, me funciona y extraigo las extensiones de los archivos. Entonces, supongo, el error debe estar provocado por el for, pero como no estoy muy familiarizado con esta función, dejo que los que saben opinen. Entonces, alguien sabe que puedo estar haciendo mal?? Alguien me pued dar una manito!??

Muchas gracias a todos, un saludo y espero poder resolver este temita!!

Pablo.

Última edición por locoxchacho; 30/11/2008 a las 22:47