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 — FTP sunucusunda bir komut çalıştırma isteği yapar
Açıklama
bool ftp_exec
( resource
$ftp_akımı
, string $komut
)
FTP sunucusuna belirtilen SITE EXEC komutu için
istek gönderir.
Değiştirgeler
-
ftp_akımı -
FTP bağlantısının bağlantı tanıtıcısı.
-
komut -
Çalıştırılacak komut.
Dönen Değerler
İşlem başarılı olursa (sunucu yanıt kodu 200 ise) TRUE olmazsa FALSE döner.
Örnekler
Örnek 1 - ftp_exec() örneği
<?php
// değişken ilklendirmesi
$komut = 'ls -al >files.txt';
// temel bağlantıyı kuralım
$conn_id = ftp_connect($ftp_server);
// Kullanıcı adı ve parola ile oturum açalım
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// komutu çalıştıralım
if (ftp_exec($conn_id, $komut)) {
echo "$komut sorunsuzca çalıştırıldı\n";
} else {
echo "$komut çalıştırılamadı\n";
}
// bağlantıyı kapatalım
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.
