Ver Mensaje Individual
  #4 (permalink)  
Antiguo 26/01/2005, 05:19
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Estás confundiendo términos MindPanic .. que tu a tu servicio de hosting "subas" tus archivos por FTP (protocolo) con tu cliente FTP .. no implica que PHP lo haga por "FTP" .. de hecho PHP accede al archivo por sistema de archivos no por el protocolo FTP (aunque podría hacerlo por FTP).

La "descargar" del archivo se hace por HTTP hacia tu "cliente". para ello se "obtiene" el archivo de donde esté (por FTP o por sistema de archivos: readfile() o funciones similares) y se componen las cabeceras HTTP adecuadas para indicar a tu "cliente" (navegador .. ) que los datos que vas a "enviarles" son en tal formato (MIME) en concreto para indicar que esos datos son para "descargar".

Al "obtener" PHP la ruta del archivo y leerlo desde donde esté .. puede el archivo estar "fuera" del "DocummentRoot" es decir; fuera del alcance de una llamada a http://www.tal.tal/archivo.tal .. En las cabeceras HTTP tu indicas que nombre de archivo se va a "ofrecer" para la descarga .. así que ahí no indicas ruta ni nada .. sólo nombre. El "cliente" sólo sabe que el archivo lo "pide" por el script.php que hace todo lo mencionado de leer el archivo y componer las cabeceras HTTP.

Si quieres más información .. busca por:
header()
www.php.net/header

Y el protocolo HTTP.

Un saludo,