连接服务器时是否可以在服务器上执行php脚本(不在构建连接的服务器上)?
<?php
// set up basic connection
$ftp_server = "localhost";
$conn_id = ftp_ssl_connect($ftp_server);
// login with username and password
$ftp_user_name = "myuser";
$ftp_user_pass = "mypass";
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
ftp_pasv($conn_id, true);
// check connection
if ((!$conn_id) || (!$login_result)) {
echo "FTP connection has failed!";
echo "Attempted to connect to $ftp_server for user $ftp_user_name";
exit;
} else {
echo "Connected to $ftp_server, for user $ftp_user_name";
}
$buff = ftp_rawlist($conn_id, '../ftpdest/index.php?action=download_now');
var_dump($buff);
ftp_close($conn_id);
1条答案
按热度按时间8gsdolmq1#
一些(但不是很多)ftp服务器支持
SITE EXEC command
允许您在服务器上执行任意或选定的shell命令。该命令可以是远程的php
二元的。在php中,您可以使用
ftp_site
功能:但这可能不适用于您的服务器。在大多数情况下,您将无法通过ftp执行shell命令。
如果您的ftp服务器实际上是web服务器,则可以使用ftp上载php脚本,然后使用web服务器执行脚本。
如果您具有ssh/shell访问权限,请使用ssh执行php脚本/代码。ssh是为执行脚本/代码而设计的api(与ftp相反)。