PHP ftp_pwd返回空

问题描述 投票:-1回答:2

我正在编写一个php脚本,该脚本通过javascript中的ajax调用。我打算连接到ftp服务器并列出“ public_html”文件夹中的所有文件。我也想打印当前的ftp目录,但是当我尝试时,它在控制台中显示为空。我可以连接到ftp服务器,但是我不知道当前目录是什么。

//Get ftp user/pass
$ftp_server = "ftp." . $_POST['hostname'];
$ftp_username = $_POST['user'];
$ftp_userpass = $_POST['pass'];

echo "console.log('attempting to connect to ftp host: $ftp_server, user:     $ftp_username, password: $ftp_userpass');\n";

$ftp_conn = ftp_connect($ftp_server) or die("alert('Could not connect to $ftp_server');\n");
// turn passive mode on
//ftp_pasv($ftp_conn, true);
ftp_chdir($ftp_conn, 'public_html');
$login = ftp_login($ftp_conn, $ftp_username, $ftp_userpass);


// then do something...
echo "console.log('Connected to FTP');\n";
// get contents of the current directory
$curdir = ftp_pwd($ftp_conn);
echo "console.log('Current dir: $curdir');\n";
$contents = ftp_nlist($ftp_conn, ".");
// output $contents
echo "var files = [];";
foreach ($contents as $file){
    echo "var tempFile = '$file';\n
        files.push(tempFile);\n";
}
echo "console.log(files);\n";
// close connection 
ftp_close($ftp_conn);
?>
php ajax ftp
2个回答
1
投票

从以下位置交换这两行:

ftp_chdir($ftp_conn, 'public_html');
$login = ftp_login($ftp_conn, $ftp_username, $ftp_userpass);

至:

$login = ftp_login($ftp_conn, $ftp_username, $ftp_userpass);
ftp_chdir($ftp_conn, 'public_html');

0
投票

[在使用ftp_pasv()时有一些问题;

尝试对此行发表评论:

ftp_pasv($ftp_conn, true);
© www.soinside.com 2019 - 2024. All rights reserved.