[Php-avanzado] consulta

Leonardo Tadei - Pegasus Tech Supply leonardot en pegasusnet.com.ar
Lun Mayo 13 21:39:07 ART 2013


Hola Ariel,

El lun, 13-05-2013 a las 18:03 -0300, Ariel Fernández escribió:
> La verdad que no entiendo cómo es que tendría que usar esas funciones
> Leo, porque en la URL no me figura ningún nombre, no viaja nada ahí
> cuando uso move_uploaded_file.... ( o yo no lo estoy viendo, tal vez
> esté haciendo algo mal?) porque la URL, luego de pulsar el botón
> Subir, me queda exactamente así:
>  http://localhost/Avanzado/ejercicios_clase_3/upload3.2.php?
> atrás de ese ? no hay nada....

	tal y como decís, en la URL no figurará nunca el nombre de un archivo,
porque al igual que con el método POST, los formularios multipart no
viajan en el URL.
	Sin embargo, los datos viajan de alguna manera desde el navegador al
servidor, y el navegador hace lo único que sabe hacer, que es
codificarlos como URL.
	Lo que yo te decía era que _antes_ de moverlo al lugar definitivo, le
decodifiques el nombre en el elemento "name" del vector.

> Por otra parte, cuando hago el listado de archivos en el HTML, los
> nombres se muestran bien, pero si los veo por afuera del navegador,
> suponete, un explorador de archivos, sale por ejemplo, Año.jpg en vez
> de Año.jpg

	Si en el navegador se muestra bien, entonces tu código y codificación
de HTML es consistente... se puede ver mal en el disco por dos motivos:
no codificar antes de mover y que el sistema de archivos en el disco no
soporte UTF-8 (generalmente es así para SO MS Windows)

	Para ser prolijo (y aprender un montón en el proceso) tendrías que ver
cómo codificar el nombre del archivo antes de guardarlo en el disco, y
luego como decodificarlo para mostrarlo en la página resultado.
	Para todo esto usás urlencode() y urldecode()


	Saludos

-- 
Leonardo Tadei
leonardot en pegasusnet.com.ar
Web: http://leonardo.tadei.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