php[world] 2019 — 25 years of PHP

ftp://

ftps://

ftp:// -- ftps://Acceso a URLs por FTP(s)

Descripción

Permite tanto lectura de ficheros existentes como la creación de nuevos ficheros vía FTP. La conexión fallará si el servidor no soporta FTP en modo pasivo.

Se puede tanto leer como escribir ficheros, pero no las dos cosas simultáneamente. Si el fichero remoto ya existiera en el servidor ftp, y se quisiera abrir en modo escritura sin especificar la opción de contexto overwrite, también fallará la conexión. Si fuera necesario sobrescribir un fichero ya existente en ftp, se tendrá que especificar la opción de contexto overwrite antes de abrir el fichero para su escritura. Alternativamente, puede usarse la extensión FTP.

Si se ha establecido la directiva from en php.ini, se enviará como contraseña para conexiones de FTP anónimo.

Uso

  • ftp://ejemplo.com/pub/fichero.txt
  • ftp://usuario:contraseña@example.com/pub/fichero.txt
  • ftps://ejemplo.com/pub/fichero.txt
  • ftps://usuario:contraseña@ejemplo.com/pub/fichero.txt

Opciones

Resumen de la Envoltura
Atributos Permitido
Restringido por allow_url_fopen
Permite Lecturas
Permite Escrituras Sí (ficheros nuevos. En los existentes con overwrite)
Permite Añadir contenidos
Permite Lecturas y Escrituras Simultáneas No
Permite usar la función stat() Sólo los elementos filesize(), filetype(), file_exists(), is_file(), y is_dir(). Desde PHP 5.1.0: filemtime().
Permite usar la función unlink()
Permite usar la función rename()
Permite usar la función mkdir()
Permite usar la función rmdir()

Notas

Nota:

Hay soporte para FTPS desde PHP 4.3.0, siempre y cuando se haya compilado con soporte para openssl.

Si el servidor no soporta SSL, entonces la conexión se restablece a una conexión ftp regular sin encriptación.

Nota: Añadiendo contenido
Se puede añadir contenido a los ficheros mediante la envoltura de URL ftp://.

add a note add a note

User Contributed Notes 3 notes

up
1
php at f00n dot com
15 years ago
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
up
-5
Anonymous
13 years ago
<?
$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);
?>
up
-10
fazil dot stormhammer dot nospam at gmail dot com
11 years ago
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);
To Top