PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

Secuencias de entrada/salida PHP> <HTTP y HTTPS
Last updated: Fri, 11 Apr 2008

view this page in

FTP y FTPS

PHP 3, PHP 4, PHP 5. ftps:// a partir de PHP 4.3.0

  • ftp://example.com/pub/archivo.txt
  • ftp://usuario:contrasenya@example.com/pub/archivo.txt
  • ftps://example.com/pub/archivo.txt
  • ftps://usuario:contrasenya@example.com/pub/archivo.txt

Permite acceso de lectura a archivos exsistentes y la creación de nuevos archivos mediante FTP. Si el servidor no soporta el modo pasivo de ftp, la conexión fallará.

Puede abrir archivos para lectura o para escritura, pero no en los dos modos simultáneamente. Si el archivo remoto existe previamente en el servidor ftp e intenta abrirlo para escritura, pero no tiene especificada la opción de contexto overwrite, la conexión fallará. Si necesita sobrescribir archivos existentes sobre ftp, especifique la opción overwrite en el contexto y abra el archivo para escritura. Alternativamente, puede usar la extensión FTP.

Note: Adición A partir de PHP 5.0.0, los archivos pueden ser extendidos, agregando nuevos datos al final, mediante la envoltura de URL ftp://. En versiones anteriores, al intentar adicionar datos a un archivo mediante ftp:// se producirá un fallo.

ftps:// se ha introducido en PHP 4.3.0. Es igual a ftp://, pero intenta negociar una conexión segura con el servidor ftp. Si el servidor no soporta SSL, entonces la conexión recae sobre el ftp corriente, sin encripción.

Note: FTPS es soportado desde PHP 4.3.0, si ha compilado el soporte para OpenSSL.

Resumen de Envoltura
Atributo PHP 4 PHP 5
Restricción por allow_url_fopen Si Si
Permite Lectura Si Si
Permite Escritura Si (archivos nuevos únicamente) Si (archivos nuevos/archivos existentes con overwrite )
Permite Adición No Si
Permite Lectura y Escritura Simultánea No No
Soporte stat() No A partir de PHP 5.0.0: Sólo los elementos filesize(), filetype(), file_exists(), is_file(), e is_dir(). A partir de PHP 5.1.0: filemtime().
Soporte unlink() No Si
Soporte rename() No Si
Soporte mkdir() No Si
Soporte rmdir() No Si

Opciones de contexto (a la altura de PHP 5.0.0)
Nombre Uso Predeterminado
overwrite Permite la sobrescritura de archivos previamente existentes en el servidor remoto. Se aplica al modo de escritura (carga de archivos) solamente. FALSE (Deshabilitada)
resume_pos Desplazamiento de archivo para iniciar la transferencia. Se aplica únicamente al modo de lectura (descarga de archivos). 0 (Comienzo del Archivo)
proxy (PHP 5.1.0 o superior) Petición proxy FTP mediante un servidor proxy http. Se aplica únicamente a las operaciones de lectura de archivos. Ej: tcp://squid.example.com:8000  

Note: Opciones de contexto de las secuencias de socket interno Puede que se soporten opciones de contexto adicionales por el transporte implícito. Para secuencias ftp://, refiérase a las opciones de contexto para el transporte tcp://. Para secuencias ftps://, refiérase a las opciones de contexto del transporte ssl://.



Secuencias de entrada/salida PHP> <HTTP y HTTPS
Last updated: Fri, 11 Apr 2008
 
add a note add a note User Contributed Notes
FTP y FTPS
fazil dot stormhammer dot nospam at gmail dot com
25-Apr-2008 10:41
Document says "Allows read access to existing files and creation of new files via FTP. If the server does not support passive mode ftp, the connection will fail. "

As of version 5.2.5 at least fopen("ftp://...") uses an ACTIVE mode connection by default (it issues an FTP PORT command but not a PASV command).  To force passive mode:

$f = fopen("ftp://...");
ftp_pasv($f, true);
wlangdon at essex dot ac dot uk
09-Oct-2006 06:32
old fashioned FTP servers may not be compatible with ftp_connect().
26-Sep-2005 05:33
<?
$str
="replace all contenents";
$filew="ftp://gufo:gufo@192.168.1.55:21/jj.php";
$opts = array('ftp' => array('overwrite' => true));
$context = stream_context_create($opts);
$strwri = file_put_contents($filew,$str,LOCK_EX,$context);
?>
php at f00n dot com
04-Jul-2004 09:39
For Intranet purposes I found I preferred to move my file via ftp functions to match the session user's ftp account and put the file in a holding bay so I knew who it was from.

The FTP wrapper method will NOT do this if your ftp server does NOT support passive mode.

eg.  an ftp server behind NAT/routing

Secuencias de entrada/salida PHP> <HTTP y HTTPS
Last updated: Fri, 11 Apr 2008
 
 
show source | credits | sitemap | contact | advertising | mirror sites