jueves, 22 de octubre de 2015

Si alguna vez has subido un sitio web a un proveedor de hosting, es probable, que ha utilizado FTP para hacer esto. FTP significa Protocolo de transferencia de archivos. Como su nombre lo sugiere, FTP es un protocolo estándar para la transferencia de archivos a través de Internet.
Para utilizar FTP, se necesita un "cliente de FTP". Esta es una pieza de software que le permite iniciar una transferencia. Además, el equipo de destino debe tener un servidor FTP. Se trata de un servidor que se ha instalado en el ordenador que permite a los sitios FTP se configuren. IIS incluye un servidor FTP. Una vez que un sitio FTP se ha configurado, los usuarios con clientes FTP pueden conectar y transferir archivos desde y hacia el servidor.
Usted puede estar familiarizado con programas como WSFTP, FileZilla, CuteFTP, etc. Estos son clientes FTP. Utilización de ColdFusion, usted puede crear su propio cliente FTP también.
Ahora, probablemente no hay mucha razón para crear un cliente FTP para usted si usted ya tiene una. Pero, ¿y si la aplicación necesita para ejecutar una tarea programada de forma regular que los archivos de FTP desde otro servidor? O bien, es posible que tenga un gestor de contenidos que debe permitir a los usuarios a FTP archivos a / desde un socio de negocios, pero el acceso debe ser restringido a una acción determinada (por ejemplo, puede evitar que la eliminación de archivos). La etiqueta CFFTP es perfecto para esto.

Listar el contenido de un directorio

El siguiente código muestra el contenido de un directorio en el servidor FTP remoto. Al dejar el directorio de atribuir en blanco, obtendremos una lista del directorio de trabajo. Para especificar otro directorio, utilice una ruta relativa a ese directorio.
Tenga en cuenta que lista el contenido de un directorio de toma dos pasos. En primer lugar, usted hace el bit de FTP y guardar el resultado de una consulta. Esto se especifica proporcionando un nombre. Una vez que has hecho el bit de FTP, ahora se puede trabajar con los resultados haciendo referencia al nombre. Por ahora, nos limitaremos a mostrar los resultados utilizando el cfdumpetiqueta.
También tenga en cuenta que, estoy usando localhost como nombre de servidor. Esto se debe a que, con el fin de probar estos ejemplos, he configurado un sitio FTP en mi máquina local, entonces realicé acciones contra ese sitio. No hay ninguna regla que diga que el sitio FTP no puede estar en la misma máquina que la máquina cliente (si bien, aparte de la creación de ejemplos como estos, es probable que no se moleste).
 
< cfftp 
action = " listDir "
name = " RemoteDirectoryContents "
directory = " "
server = " localhost "
username = " homer "
password = " simpson " >


<Cfdump var = "# RemoteDirectoryContents #">
En función de los contenidos del directorio, el código anterior podría resultar en algo como esto:
consulta
 ATRIBUTOSIsDirectoryÚLTIMA MODIFICACIÓNLARGOMODONOMBRECAMINOURL
1[cadena vacía]{ts '2007-01-13 05:15:15'}0no se admite actualmenteimágenes/ imágenesftp: // localhost / imágenes
2[cadena vacía]NO{ts '2007-01-13 05:15:15'}4no se admite actualmenteindex.html/index.htmlftp: //localhost/index.html
3[cadena vacía]NO{ts '2007-01-13 07:14:15'}6500no se admite actualmenteReadmeLater.htm/ReadmeLater.htmftp: //localhost/ReadmeLater.htm
Para ser un poco más elaborado, en lugar de utilizar cfdump, podría utilizar cfoutput y se refieren a cada elemento que necesita por su nombre:
 
<Cfoutput  consulta = "RemoteDirectoryContents"> 
# ruta #
<br /> </ cfoutput>

Esto daría lugar a:
/ images 
/index.html 
/ReadmeLater.htm

Obtener archivo

Los siguientes copia un archivo desde el servidor FTP remoto en el equipo local de código. Podemos utilizar los failIfExists atributo para determinar qué hacer si el archivo ya existe. En este caso se sobrescribe porque especificamos failIfExists = "no".
 
< cfftp 
action = " getFile "
server = " localhost "
username = " homer "
password = " simpson "
remotefile = " /images/print.gif "
localfile = " C:\local_print.gif "
failIfExists = " no " >

Archivo Ponga

Los siguientes copia un archivo desde la máquina local al servidor FTP de código remoto.
 
< cfftp 
action = " putFile "
server = " localhost "
username = " homer "
password = " simpson "
localfile = " C:\ReadmeFirst.htm "
remotefile = " /ReadmeLater.htm " >

Remover archivo

El código siguiente elimina (borra) un archivo desde el servidor FTP remoto.
 
<CFFTP 
acción = "eliminar"
servidor = "localhost"
nombre de usuario = "jonrón"
password = "simpson"
artículo = "/ReadmeLater.htm">

Renombrar archivo

El código siguiente cambia el nombre de un archivo remoto llamado "ReadmeLater.htm" a "ReadmeNow.htm".
 
< cfftp 
action = " rename "
server = " localhost "
username = " homer "
password = " simpson "
existing = " /ReadmeLater.htm "
new = " /ReadmeNow.htm " >

Otros atributos útiles

La etiqueta CFFTP acepta diversos atributos opcionales que puede que tenga que utilizar, en función de sus necesidades o la configuración de FTP. Uso también dependerá de la acción FTP está llevando a cabo también. Estos atributos son:


STOPONERROR
Si esto es igual a "sí", ColdFusion generará un error si la operación FTP falla. Usando STOPONERROR = "sí" le permite utilizarcftry / cfcatch para manejar el error.
se acabó el tiempo
Le permite proporcionar un período de tiempo de espera.
RetryCount
Número de veces que se intentará conectarse si hay problemas.
asciiextensionlist
Le permite proporcionar una lista de extensiones de archivos que se consideran archivos ASCII. Si transferMode = "auto", estos archivos se transferirán como ASCII.
modo de transferencia
Le permite configurar el modo de transferencia. Los valores posibles son "auto", "ASCII" y "binario".
pasivo
Le permite determinar si se debe utilizar el modo pasivo o modo activo. Algunos servidores FTP requieren que utilice el modo pasivo. Los valores posibles son "sí" y "no"
servidor proxy
Permite que usted proporcione los detalles de un servidor proxy.

1 comentario :