[Php-avanzado] subir archivos
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Lun Jul 13 22:25:15 ART 2009
Hola Lucas,
El dom, 12-07-2009 a las 23:56 -0300, unes pacio escribió:
> Bueno, antes que nada muchas gracias, efectivamente el problema estaba
> en el tamaño maximo de subida de archivo.
Lo sospeché desde un principio ;-)
> Con respecto a $nu es porque upfile es un vector de archivos y
> necesito saber cuantos archivos fueron cargados, paso el codigo a ver
> si queda claro
>
> <input type='hidden' name='MAX_FILE_SIZE' value='100000000' />
> file 1: <input type='file' name='upfile[]' /><br />
> <input type='hidden' name='MAX_FILE_SIZE' value='100000000' />
> file 2: <input type='file' name='upfile[]' /><br />
> <input type='hidden' name='MAX_FILE_SIZE' value='100000000' />
> file 3: <input type='file' name='upfile[]' /><br />
> <input type='hidden' name='MAX_FILE_SIZE' value='100000000' />
> file 4: <input type="file" name="upfile[]" /><br />
>
> Esta bien eso o hay algo de mas??
Entonces $upf es una matriz, porque $_FILES["upfile"] lo es.
El vector en dicha matriz sería $_FILES["upfile"][0]... esto significa
que la asignación del nombre $file_name=$upf['name']; falla porque en
realidad está en $file_name=$upf[0]['name'];
En otras palabras, si $upf, tenés que leer los datos del archivo y
hacer el move_uploaded_file() adentro del bucle.
Saludos!
>
> > if($_POST['upload']=='subir'){
> > $upf = $_FILES['upfile'];
> > $nu=count($upf);
>
>
> Para qué es $nu ?
> No me doy cuenta de qué sentido tiene, ya que siempre
> te va a devolver
> la cantidad de elementos de $_FILES['upfile'], que es siempre
> la misma y
> la conocemos.
>
> > $file_name=$upf['name'];
> > $file_size=$upf['size'];
> > $file_tmp=$upf['tmp_name'];
> > for($i=0;$i<$nu;$i++){
> > print("ha sido subido<br />");// era para testear si
> > funcionaba hasta aca, y funciona salvo con los mp3
> > if($file_tmp[$i]!= ''){
> > move_uploaded_file($file_tmp[$i],
> "./.$u/$file_name[$i]");
> > print("el archivo <b>$file_name[$i]</b> ha sido
> subido
> > correctamente<br />");
> > }
> > }
> > }
> >
> > Agraadezco cualquier pista que me puedan tirar.
>
>
> No se ve nada raro.
> Fijate que $file_size te da al subir los MP3. Es muy
> probable que no te
> esté llegando nada porque el archivo excede el tamaño máximo
> permitido
> de la configuración de subida de archivos del servidor.
>
> >
> Gracias, un saludo y felices vacaciones.
--
Leonardo Tadei
leonardot en pegasusnet.com.ar
http://blog.pegasusnet.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
Más información sobre la lista de distribución Php-avanzado