A word of caution, execution via FTP isn't very widely supported. Check that it works on the servers that you intend to connect to before you start coding something that requires this.
ftp_exec
(PHP 4 >= 4.0.3, PHP 5)
ftp_exec — Solicita la ejecución de un comando en el servidor FTP
Descripción
bool ftp_exec
( resource
$ftp_stream
, string $command
)
Envía un command de solicitud SITE EXEC al servidor FTP.
Parámetros
-
ftp_stream -
El identificador de enlace de la conexión FTP.
-
command -
El comando a ejecutar.
Valores devueltos
Devuelve TRUE si el comando se ha realizado correctamente (el servidor envía el código de respuesta:
200); en caso contrario devuelve FALSE.
Ejemplos
Ejemplo #1 Ejemplo de ftp_exec()
<?php
// inicialización de variable
$command = 'ls -al >files.txt';
// establecer una conexión básica
$conn_id = ftp_connect($ftp_server);
// iniciar sesión con nombre de usuario y contraseña
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// ejecutar comando
if (ftp_exec($conn_id, $command)) {
echo "$command ejecutado con éxito\n";
} else {
echo "no se pudo ejecutar $command\n";
}
// cerrar la conexión ftp
ftp_close($conn_id);
?>
sam at totallydigital dot co dot nz ¶
9 years ago
chris dot pittman at sonopress dot com ¶
7 years ago
I've been using the php ftp functions pretty extensively at work. We've recently discovered that some of the ftp servers we connect to, paticularly in Europe, are using extended passive mode. On a server using extended passive mode the php ftp functions will timeout. For those of you who encounter this, the solution is to send the command:
ftp_exec (conn_id, 'epsv4 off' );
Do this immediately after ftp_login and you should be fine.
