Zona HTML Zona Java Zona PHP Zona ASP Zona Bases de datos
Inicio > Artículos > Internet > PHP > PHP y funciones FTP
-Artículos

PHP y funciones FTP

1 . Configurando el fichero php.ini para admitir funciones FTP
2 . Usando las funciones FTP más simples

Vamos a examinar las funciones FTP. A menudo pueden sernos útiles para algún proyecto que se esté llevando a cabo, así que nunca viene de más conocerlas. Además, son pocas, ¡¡ y muy fáciles !!

Configurando el fichero php.ini para admitir funciones FTP

Antes de nada, tenemos que configurar nuestro fichero php.ini para que admita funciones de FTP. Es muy simple. En la parte en la que se listan todas las extensiones, debe haber una con el nombre php_ftp.dll Descomentadla, y, en teoría, eso es todo lo que hay que hacer para disponer de ellas. Para estar del todo seguro, ejecuta phpinfo() y lo sabrás.

Usando las funciones FTP más simples

Para este ejemplo, vamos a usar un poco de código fuente comentado. Creo que es bastante explicativo por si mismo.

<?

//Hazte cuenta de que puede tardar más de 30 segundos.
set_time_limit(0);

//Conectamos al host
$FtpConn = ftp_connect("ftp.cdrom.com");

//Nos autentificamos como usuarios registrados o anónimos
if(!ftp_login($FtpConn,"anonymous","me@you.net")){
	echo "No se ha podido realizar la conexión";
	exit;
}

//Obtenemos el directorio actual
$directorio = ftp_pwd($FtpConn);

//Obtenemos el listado del directorio actual
$lista = array();
$lista = ftp_nlist($FtpConn,$directorio);

//Mostramos sus contenidos
echo "<B><CENTER>CONTENIDOS DEL DIRECTORIO / (RAÍZ)</CENTER></B>";

echo "<pre>";
print_r($lista);
echo "</pre>";


//Cambiamos al directorio /pub
if(!ftp_chdir($FtpConn,"pub")){
	echo "Se ha producido un error al entrar en el directorio /pub";
	exit;
}

//Almacenamos el directorio actual
$directorio2 = ftp_pwd($FtpConn);

//Obtenemos el listado del directorio actual
$list = array();
$list = ftp_nlist($FtpConn,$directorio2);

//Mostramos su contenido
echo "<B><CENTER>CONTENIDOS DEL DIRECTORIO /pub</CENTER></B>";

echo "<pre>";
print_r($list);
echo "</pre>";



//Tansferimos un fichero
if(!ftp_get($FtpConn,"test.txt","test.txt",FTP_BINARY)){
	echo "Imposible recuperar fichero test.txt";
	exit;
}

/*

ESTO NO ES POSIBLE VERLO FUNCIONANDO
//Cargamos un fichero
if(!ftp_put($FtpConn,"ind.txt","",FTP_BINARY)){
	echo "Imposible cargar el fichero";
	exit;
}

*/
?>

Como ves, es muy sencillo usar FTP con PHP. Si tienes alguna duda, escribeme a flipis@flipis.net y la resolveré, si puedo, :-)

 

Últimos comentarios
Últimos 5 comentarios

configuracion ftp (08/04/2008)

Por
hola, no se si solo ami me pasa, pero no encuetro la extesion php_ftp.dll, o no se si estoy en el directorio equivocado, si alguien me ayuda.

yo estoy trabajando con el wamp y lo busque en php/php.ini, aqui esta una parte de las extensiones que salen:

;Windows Extensions
;Note that ODBC support is built in, so no dll is needed for it.
;
extension=php_mbstring.dll
extension=php_bz2.dll
;extension=php_cpdf.dll
;extension=php_curl.dll
;extension=php_dba.dll
;extension=php_dbase.dll
;extension=php_dbx.dll
;extension=php_exif.dll
;extension=php_fdf.dll
;extension=php_filepro.dll
;extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_ifx.dll
.
.
.
.
.
.

configuracion ftp (08/04/2008)

Por
hola, no se si solo ami me pasa, pero no encuetro la extesion php_ftp.dll, o no se si estoy en el directorio equivocado, si alguien me ayuda.

yo estoy trabajando con el wamp y lo busque en php/php.ini, aqui esta una parte de las extensiones que salen:

;Windows Extensions
;Note that ODBC support is built in, so no dll is needed for it.
;
extension=php_mbstring.dll
extension=php_bz2.dll
;extension=php_cpdf.dll
;extension=php_curl.dll
;extension=php_dba.dll
;extension=php_dbase.dll
;extension=php_dbx.dll
;extension=php_exif.dll
;extension=php_fdf.dll
;extension=php_filepro.dll
;extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_ifx.dll
.
.
.
.
.
.

Necesito ayudacon PHP (03/11/2007)

Por
NO SE SI MEP UDIERAN MANDAR INFORMACION SOBRE LOS COANDOS DE PHP VOMO POR EJEMPLO E FOPNE Y PAA QUE SIRVEN CADA UNO . GRACIAS

YA CASI LO LOGRO (08/10/2006)

Por
BUENO NO ME DEJO SUBIR EL CODIGO PERO LES DEJO LO QUE ME SALIO EN LA CONSOLA DEL FILEZILLA SERVER:

TRANSMISION INCORRECTA DE UN CLIENTE REMOTO:

(000141) 06/10/2006 16:45:23 p.m. - (not logged in) (189.130.113.83)> Connected, sending welcome message...
(000141) 06/10/2006 16:45:23 p.m. - (not logged in) (189.130.113.83)> 220-FileZilla Server version 0.9.19 beta
(000141) 06/10/2006 16:45:23 p.m. - (not logged in) (189.130.113.83)> 220-written by Tim Kosse (Tim.Kosse@gmx.de)
(000141) 06/10/2006 16:45:23 p.m. - (not logged in) (189.130.113.83)> 220 Please visit http://sourceforge.net/projects/filezilla/
(000141) 06/10/2006 16:45:23 p.m. - (not logged in) (189.130.113.83)> USER moto
(000141) 06/10/2006 16:45:23 p.m. - (not logged in) (189.130.113.83)> 331 Password required for moto
(000141) 06/10/2006 16:45:23 p.m. - (not logged in) (189.130.113.83)> PASS ******
(000141) 06/10/2006 16:45:23 p.m. - moto (189.130.113.83)> 230 Logged on
(000141) 06/10/2006 16:45:23 p.m. - moto (189.130.113.83)> PASV
(000141) 06/10/2006 16:45:23 p.m. - moto (189.130.113.83)> 227 Entering Passive Mode (189,130,113,83,11,118)
(000141) 06/10/2006 16:45:23 p.m. - moto (189.130.113.83)> QUIT
(000141) 06/10/2006 16:45:23 p.m. - moto (189.130.113.83)> 221 Goodbye


CASO CORRECTO DESDE LOCALHOST

000123) 06/10/2006 16:17:00 p.m. - (not logged in) (189.130.113.83)> Connected, sending welcome message...
(000123) 06/10/2006 16:17:00 p.m. - (not logged in) (189.130.113.83)> 220-FileZilla Server version 0.9.19 beta
(000123) 06/10/2006 16:17:00 p.m. - (not logged in) (189.130.113.83)> 220-written by Tim Kosse (Tim.Kosse@gmx.de)
(000123) 06/10/2006 16:17:00 p.m. - (not logged in) (189.130.113.83)> 220 Please visit http://sourceforge.net/projects/filezilla/
(000123) 06/10/2006 16:17:00 p.m. - (not logged in) (189.130.113.83)> USER moto
(000123) 06/10/2006 16:17:00 p.m. - (not logged in) (189.130.113.83)> 331 Password required for moto
(000123) 06/10/2006 16:17:00 p.m. - (not logged in) (189.130.113.83)> PASS ******
(000123) 06/10/2006 16:17:00 p.m. - moto (189.130.113.83)> 230 Logged on
(000123) 06/10/2006 16:17:00 p.m. - moto (189.130.113.83)> PASV
(000123) 06/10/2006 16:17:00 p.m. - moto (189.130.113.83)> 227 Entering Passive Mode (189,130,113,83,11,48)
(000123) 06/10/2006 16:17:00 p.m. - moto (189.130.113.83)> TYPE I
(000123) 06/10/2006 16:17:00 p.m. - moto (189.130.113.83)> 200 Type set to I
(000123) 06/10/2006 16:17:00 p.m. - moto (189.130.113.83)> STOR 5.jpg
(000123) 06/10/2006 16:17:00 p.m. - moto (189.130.113.83)> 150 Connection accepted
(000123) 06/10/2006 16:17:00 p.m. - moto (189.130.113.83)> 226 Transfer OK
(000123) 06/10/2006 16:17:00 p.m. - moto (189.130.113.83)> QUIT
(000123) 06/10/2006 16:17:00 p.m. - moto (189.130.113.83)> 221 Goodbye

SE LOGEAN BIEN LOS DOS CASOS EL PROBLEMA VIENE DESPUES DE DEFINIR EL MODO DE CONEXION PASIVA UN CASO ME PONE QUIT Y EL OTRO MARCA TYPE I Y SE TRANSFIERE...

POR FAVOR AYUDENME ES PARA UN PROYECTO IMPORTANTE...

MI CUENTA: taichin_fly@hotmail.com

interesados en ayudarme mando el codigo a sus cuentas.... gracias..

AYUDAAAAA!!!!!!!!! (08/10/2006)

Por
HOLA KISIEA SABER SI ALGUIEN PUEDE AYUDARME, KIERO TRANSMITIR UN ARCHIVO DESDE UNA PORTAL CLIENTE CON UN BOTON BROWSE QUE LE PUSE Y UN BOTON DE SUBIR ARCHIVO PARA QUE SE PRESIONE Y SE SUBA EL ARCHIVO HACIA EL SERVIDOR VIA FTP.... USO EL SERVIDOR FILEZILLA SUPONGO LO HE CONFIGURADO BIEN, PERO NO ME PUEDEN LLEGAR LOS ARCHIVOS.... SOLO EN EL CASO QUE ME LOS ENVIE A MI MISMO ES COMO LLEGAN PERO ES COMO SI LOS MOVIERA DE CARPETA, PERO CUANDO LE PIDO A ALGUIEN QUE ME MANDE UN ARCHIVO ME FALLA Y ME MARCA LO SIGUIENTE

Warning: ftp_put(D:\\\\__Centinela_03\\\\UserImages.bmp) [function.ftp-put]:
failed to open stream: No such file or directory in E:\\AppServ\\www\\FTP2.php on
line 35 Subir Archivo.

EN LA CONSOLA DEL FILEZILLA DESPUES DE DEFINIR EL MODO PASIVO, ME VOTA CON QUIT.... CASO CONTRARIO CUANDO ME ENVIO YO MISMO CON EL SERVIDOR ME MARCA TYPE I.....

que podria estar mal ... envio el codigo en el siguiente post.... graciass

por favor respondan a mi correo taichin_fly@hotmail.com por que me urgeee y estoy desesperado...


 
Tienda
Patrocinados
 

Copyright © 1999-2006 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network