| |||
Bueno .. puedes usar HTTP para subir tus archivos .. pero bajo SSL (https) .. De hecho las funciones de FTP son para "mover" archivos entre servidores FTP . .no entre "cliente (navegador del usuario)" a tu servidor .. http://www.php.net/manual/en/features.file-upload.php Un saludo, |
| |||
Y ahora que hablais de ftp y php, ¿como hacen diversos sitios web para facilitar archivos con salida desde el ftp del servidor a un cliente (navegador del usuario) en paginas php? ¿como hacen para ocultar la direccion del ftp de donde te bajas el archivo y asi evitar que intentes mangonearla?... bueno respecto a estos temas del ftp tengo muchas dudas. Un saludo. |
| |||
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, |
| |||
Haaaa¡¡ ya voy pillando el tema, entonces los archivos que estan disponibles en una web siempre se bajan por http... aunke esten alojados en el ftp de un servidor, como por ejemplo las distribuciones linux gratuitas. bueno ya me ha quedado aclarado. siempre se aprende algo nuevo tronco. saludos |
| |||
Vamos a ver .. el "FTP" no es más que una zona de tu "disco duro" del servidor (por decirlo en palabras llamas) que se accede "remotamente" bajo ciertas condiciones de acceso (con una contraseña) y limitaciones (tanto de tamaño de archivos que subes .. como de n° de accesos .. o que sólo puedes "ver" archivos desde ahí hacia abajo en la estructura de directorios de ese servidor). A todo esto .. como "cuentas de FTP" existen las "anonimas" (sin necesidad de usar contraseña) .. y clientes "web" (navegadores, HTTP) pueden hacer de clientes FTP para acceder cuentas FTP y bajar un archivo por ejemplo por el protocolo FTP pero vía tu navegador .. En fin .. es para que veas que no es que todo lo que bajas con tu "navegador" es por HTTP .. todo depende del "link" (URL) que usas para bajar tu archivo .. http://www.tal.tal/archivo.zip .. ftp://www.tal.tal/archivo.zip ... el "???://" en un URL indica el "protocolo" que estás usando. Un saludo, |
| |||
ok, bueno lo que es le tema de subir archivos via ftp(por ejemplo todo lo que se va modificando o creando en mi web) y todo eso si esta controlado (eso no tiene ningun misterio), la duda era en el tema de las descargas sin cliente ftp y via navegador, ahora ya lo he entendido del todo. es que como el espacio los hosting esta limitado me gustaria poner un servidor ftp en mi ordenata de casa y que los usuarios puedan bajarse via navegador archivos grandes de mi servidor ftp casero. Pero hay muchas dudas sobre el tema: (que solo los usuarios registrados en mi web puedan desacargarse archivos de mi ftp simplemente con estar loguineados y pinchando en los respectivos enlaces de descarga,... muchas dudas más) gracias cluster. ya ire preguntando segun vaya enterandome del tema. |
| |||
Bueno .. en ese caso es tu servidor remoto (el de proveedor actual) el que tendrá que conectarse por FTP a tu PC (que vas a instalar un servidor FTP) usando las funciones: www.php.net/ftp Pero .. para que a su vez ese archivo que va a "traer" tu servidor remoto desde tu "PC" vía FTP lo pueda descargar tu usuario .. la descarga en sí será vía HTTP .. ya sea que pongas un simple link al archivo que has "obtenido" desde tu FTP o con cabeceras HTTP. De hecho lo que podrías buscarte es un cliente FTP escrito en PHP .. por qué eso es lo que necesitas y ya estás implementados (así ves como lo hacen). Por ejemplo .. aquí tienes un tutorial al respecto http://www.devarticles.com/c/a/PHP/B...nt-With-PHP/4/ Lo único que tienes que hacer es subir ese ejemplo a tu servidor y en la configuración de conexión del servidor FTP a usar .. debes apuntarlo a tu servidor (tu PC) usando el usuario que definas en tu servidor FTP y la IP (o te consigues un servicio de DNS dinámico) para el parámetro del "host". Si quieres más .. visita: http://www.hotscripts.com/PHP/Script...le_Management/ Un saludo, |
| |||
gracias.. y un par de ediciones. Muchas gracias culter estas a todas. un saludo. Edito: Muchas gracias Cluster (no culter como puse antes) jajaja Vuelvo a editar: que sevidor FTP me recomendais: filezilla serv-u ... etc. cual es mas fiable y más sencillo. Última edición por MindPaniC; 27/01/2005 a las 13:09 |