PHP:ftp服务器上的列表文件?

时间:2010-07-13 04:24:56

标签: php ftp connection

无法完成!

<!DOCTYPE html>
<html lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>FTP Download</title>
</head>
<body>
    <?php

    set_time_limit(300);//for setting 
    $path='/userupload';
    $ftp_server='202. …';
    $ftp_server_port="21";
    $ftp_user_name='al…';
    $ftp_user_pass="mypassword";

    // set up a connection to ftp server
    $conn_id = ftp_connect($ftp_server, $ftp_server_port); 
    // login with username and password
    $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

    // check connection and login result
    if ((!$conn_id) || (!$login_result)) { 
        echo "Fail</br>";
    } else {
        echo "Success</br>";
        // enabling passive mode
        ftp_pasv( $conn_id, true );
        // get contents of the current directory
        $contents = ftp_nlist($conn_id, $path);
        // output $contents
        var_dump($contents);
    }

    // close the FTP connection
    ftp_close($conn_id);

    ?>
</body>
</html>

知道我做错了什么吗?它总是返回“成功bool(假)”!因此连接正常,但文件不会列出。有什么想法吗?

问候

2 个答案:

答案 0 :(得分:0)

  

我做错了什么?

你缺乏调试。

仅检查连接结果是不够的。必须检查每个操作。

ftp_pasv()有效吗? 是/ userupload dir?

答案 1 :(得分:0)

Shrapnel说的是,如果你有

,你可以获得比调整更多的调试

//enabling passive mode ftp_pasv( $conn_id, true );

然后您可以使用if(ftp_pasv( $conn_id, true )){// it worked :) }else{// it didnt work :( }

但我认为错误的是你的路径,如果你的ftp用户的主文件夹将它们放在这里/ useruploads / 我在这里然后列出你的路径应该是{{1}的文件否则你告诉ftp做的是列出不存在的目录“useruploads / useruploads”。