PHP Doku:: Sendet ein SITE-Kommando zum Server - function.ftp-site.html

Verlauf / Chronik / History: (1) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzSonstige DiensteFTPFTP-Funktionenftp_site

Ein Service von Reinhard Neidl - Webprogrammierung.

FTP-Funktionen

<<ftp_set_option

ftp_size>>

ftp_site

(PHP 4, PHP 5)

ftp_siteSendet ein SITE-Kommando zum Server

Beschreibung

bool ftp_site ( resource $ftp_stream , string $command )

ftp_site() sendet das angegebene SITE-Kommando zum FTP-Server.

SITE-Kommandos sind nicht standardisiert und unterscheiden sich von Server zu Server. Sie sind nützlich, um Dinge wie Datei-Zugriffsrechte und Gruppen-Mitgliedschaften zu handhaben.

Parameter-Liste

ftp_stream

Der Verbindungshandler der FTP-Verbindung.

command

Das SITE-Kommando. Beachten Sie, dass dieser Parameter nicht escapt ist und dass deswegen Probleme bei Dateinamen mit Leerzeichen oder anderen Zeichen auftreten können.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Sending a SITE command to an ftp server

<?php
// Verbindung aufbauen
$conn ftp_connect('ftp.example.com');
if (!
$conn) die('Verbindung zu ftp.example.com konnte nicht aufgebaut werden');

// Login mit Benutzername und Passwort
if (!ftp_login($conn'user''pass')) die('Fehler beim Login zu ftp.example.com');

// Kommando "SITE CHMOD 0600 /home/user/privatefile" an den Server senden */
if (ftp_site($conn'CHMOD 0600 /home/user/privatefile')) {
   echo 
"Kommando erfolgreich ausgeführt.\n";
} else {
   die(
'Kommando fehlgeschlagen.');
}
?>

Siehe auch

  • ftp_raw() - Sendet ein beliebiges Kommando an den FTP-Server


6 BenutzerBeiträge:
- Beiträge aktualisieren...
www.bossftp.com
6.11.2008 3:30
To send a SITE command and get the result, you can try this:

<?php
function ftpsite($conn, $cmd) {
    return
ftp_raw($conn, "SITE $cmd");
}
?>
Marc
5.08.2003 16:02
Use ftp_raw() (PHP 5+) instead of ftp_site() if you need the results of the remote command.
webmaster at beezm dot net
18.06.2003 8:52
I wrote some functions for an ftp server for windows called GuildFTPd.

Here they are, they are pretty much so self explanitory:
<?
function guildftpd_adduser($ftp_stream,$group,$username,$password){
   
ftp_site($ftp_stream,"SITE ADDUSER $group $username $password");
}
function
guildftpd_addgroup($ftp_stream,$groupname){
   
ftp_site($ftp_stream,"SITE ADDGROUP $groupname");
}
function
guildftpd_deluser($ftp_stream,$username){
   
ftp_site($ftp_stream,"SITE DELUSER $username");
}
function
guildftpd_addpath($ftp_stream,$username,$path,$vpath){
   
ftp_site($ftp_stream,"SITE ADDPATH $username $path $vpath");
}
function
guildftpd_delpath($ftp_stream,$username,$path,$vpath){
   
ftp_site($ftp_stream,"SITE DELPATH $username $path $vpath");
}
function
guildftpd_anon($ftp_stream){
   
ftp_site($ftp_stream,"SITE ANON ALLOW");
}
function
guildftpd_anond($ftp_stream){
   
ftp_site($ftp_stream,"SITE ANON DENY");
}
function
guildftpd_chpass($ftp_stream,$user,$pass){
   
ftp_site($ftp_stream,"SITE CHPASS $user $pass");
}
function
guildftpd_disable($ftp_stream,$user){
   
ftp_site($ftp_stream,"SITE DISABLE $user");
}
function
guildftpd_enable($ftp_stream,$user){
   
ftp_site($ftp_stream,"SITE ENABLE $user");
}
function
guildftpd_who($ftp_stream){
   
$who = ftp_site($ftp_stream,"SITE WHO");
}
function
guildftpd_kick($ftp_stream,$user);
   
ftp_site($ftp_stream,"SITE KICK $user");
}
function
guildftpd_msg($ftp_stream,$text);
   
ftp_site($ftp_stream,"SITE MSG $text");
}
?>
to at mail dot isec dot pt
21.11.2002 14:20
Hya,
  Recently I had to work with FTP over PHP, since I didn't found any help about this topic I decided to post this here. If you need to chmod one file, I tested this on the ftp server using a ftp client and after I knew that the ftp server supported chmod I used the following commands:
$upload = ftp_put($conn_id, "/home/to/public_html/index.php", $source_file, FTP_ASCII);
$ch=@ftp_site($conn_id,"chmod 755 /home/to/public_html/index.php");

Hope this help!

daemorhedron
17.11.2002 14:32
I'd like to follow up with Ivan's observation there. Unless I am missing the obvious, which is entirely possible of course, this command is quite useless unless it returns the data from the SITE <foo> request.

Besides the obvious SITE HELP command, another one that would require catching the feedback would be the SITE LOCATE | SITE SEARCH commands. I completely recognize that SITE <foo> commands are indeed insanely proprietary, but the fact still remains that changing this to return the results, or at least having the option to do so (such as exec() and the like) would be vastly preferred to the current method of returning true/false values.

Thanks.

29.06.2001 18:36
site commands are extra-functionality provided by some ftp servers, and depend on the server :
e.g. trying "ftp> site help" (with an interactive ftp client) on a proftp server would give :
 
214-The following SITE extensions are recognized:
 RATIO -- show all ratios in effect
 The following SITE commands are recognized (* =>'s unimplemented).
 HELP    CHMOD
214 Direct comments to admin@ftp.blahblah.fr

while with wu-ftpd on can typically get :

214-The following SITE commands are recognized (* =>'s unimplemented).
   UMASK           GROUP           INDEX           GROUPS
   IDLE            GPASS           EXEC            CHECKMETHOD
   CHMOD           NEWER           ALIAS           CHECKSUM
   HELP            MINFO           CDPATH                  
214 blabla

Unfortunately, ftp_site only returns true or false. It would be nice to have a way to get the server's reply in full : ftp_site('help') return 1, which pretty much useless.

Hope that helps,

Ivan



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)