首页 > 解决方案 > ftp_put():打开文件上传到“/xxx.txt”服务器的数据通道

问题描述

我正在使用 PHP FTP 将文件上传到 FTP。在将文件放入服务器时,它会抛出错误。

我做了什么:

    $ftp_conn = ftp_connect(SAP_SERVER_HOST, SAP_SERVER_PORT, 60);
    if (!ftp_login($ftp_conn, SAP_SERVER_USER, SAP_SERVER_PASSWORD)) {
        echo 'not connected<br/>';
    } else {
        $localfile = '/abc/txt/15375127769260.txt';
        $serverfile = '/folder/15375127769260.txt';
        // echo ftp_pwd($ftp_conn);
        if (ftp_put($ftp_conn, $serverfile, $localfile, FTP_BINARY)) {
            echo "Successfully uploaded $localfile.";
        } else {
            echo "Error uploading $localfile.";
        }
        // close connection
        ftp_close($ftp_conn);
    }

建议我,我在这段代码中错过了什么。

标签: phpftp

解决方案


对于偶然发现此问题的任何人:添加后我的文件已正确发送ftp_pasv($conn_id, true);

请注意,它必须在 ftp_login() 之后添加。

php.net 上的 ftp-pasv


推荐阅读