PHP  
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | my php.net 
search for in the  
<ftp_set_optionftp_size>
view the version of this page
Last updated: Thu, 21 Aug 2003

ftp_site

(PHP 3>= 3.0.15, PHP 4 )

ftp_site -- Sends a SITE command to the server

Description

bool ftp_site ( resource ftp_stream, string cmd)

ftp_site() sends the command specified by cmd to the FTP server. SITE commands are not standardized, and vary from server to server. They are useful for handling such things as file permissions and group membership.

Example 1. Sending a SITE command to an ftp server

<?php
/* Connect to FTP server */
$conn = ftp_connect('ftp.example.com');
if (!$conn) die('Unable to connect to ftp.example.com');

/* Login as "user" with password "pass" */
if (!ftp_login($conn, 'user', 'pass')) die('Error logging into ftp.example.com');

/* Issue: "SITE CHMOD 0600 /home/user/privatefile" command to ftp server */
if (ftp_site($conn, 'CHMOD 0600 /home/user/privatefile')) {
   echo "Command executed successfully.\n";
} else {
   die('Command failed.');
}
?>

Returns TRUE on success or FALSE on failure.

See Also: ftp_raw()



add a note add a note User Contributed Notes
ftp_site
Marc
05-Aug-2003 09: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-Jun-2003 01: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-Nov-2002 09: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!

T?/span>
daemorhedron
17-Nov-2002 09: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-Jun-2001 11: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

<ftp_set_optionftp_size>
 Last updated: Thu, 21 Aug 2003
show source | credits | sitemap | mirror sites 
Copyright © 2001-2003 The PHP Group
All rights reserved.
This mirror generously provided by: http://php.mirrors.ilisys.com.au/
Last updated: Sat 01 Nov 2003 04:13:36 EST EST