(PHP 4 >= 4.0.3, PHP 5)
ftp_exec — Fordert die Ausführung eines Programmes auf dem FTP-Server an
Sendet ein SITE EXEC-Kommando (command) an den FTP-Server.
Der Verbindungshandler der FTP-Verbindung.
Das auszuführende Kommando.
Gibt TRUE zurück, wenn das Kommando erfolgreich war (d.h. der Server hat den Antwortcode 200 geliefert); sonst FALSE.
Beispiel #1 ftp_exec()-Beispiel
<?php
// Variable initialisieren
$command = 'ls -al >files.txt';
// Verbindung aufbauen
$conn_id = ftp_connect($ftp_server);
// Login mit Benutzername und Passwort
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// Kommando ausführen
if (ftp_exec($conn_id, $command)) {
echo "$command wurde erfolgreich ausgeführt\n";
} else {
echo "$command konnte nicht ausgeführt werden\n";
}
// Verbindung schließen
ftp_close($conn_id);
?>
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.
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.