Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP ftp_pwd返回空_Php_Ajax_Ftp - Fatal编程技术网

PHP ftp_pwd返回空

PHP ftp_pwd返回空,php,ajax,ftp,Php,Ajax,Ftp,我正在编写一个php脚本,通过javascript中的ajax调用它。我正在连接到ftp服务器并列出“public_html”文件夹中的所有文件。 我还想打印当前的ftp目录,但当我尝试打印时,它在控制台中打印为空。 我可以连接到ftp服务器,但我不知道哪个目录是当前目录。 //Get ftp user/pass $ftp_server = "ftp." . $_POST['hostname']; $ftp_username = $_POST['user']; $ftp_userpass = $

我正在编写一个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);
?>

我在使用ftp_pasv()时遇到了一些问题

请尝试对此行进行注释:

ftp_pasv($ftp_conn, true);

从以下位置交换这两行:

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


echo“console.log(文件);\n”
您的代码是php而不是javascript。很抱歉,我应该指定,php回显的数据然后在javascript中进行评估。我已经注释掉了那一行,但是当前目录仍然输出为空。您有任何错误吗?(尝试使用error_reporting(E_ALL)或try catch)它会给我一个警告:warning:ftp_pwd():您没有登录第21行的/home/loganmc/public_html/cms/scripts/php/ftp_Connect.php,这是本地路径。请将ftp_登录置于ftp_chdir之前
$login = ftp_login($ftp_conn, $ftp_username, $ftp_userpass);
ftp_chdir($ftp_conn, 'public_html');