PHP ftp_pwd返回空

时间:2015-10-14 01:38:21

标签: php ajax ftp

我正在写一个在javascript中通过ajax调用的php脚本。我正在连接到ftp服务器并列出" public_html"中的所有文件。夹。 我还想打印当前的ftp目录,但是当我尝试时,它在控制台中打印为空。  我可以连接到ftp服务器,但我无法告诉目前的dir是什么。     

//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);
?>

2 个答案:

答案 0 :(得分: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');

答案 1 :(得分:0)

使用ftp_pasv();

时遇到一些问题

尝试评论此行:

ftp_pasv($ftp_conn, true);