当前位置: 首页 > 工具软件 > FTP for PHP > 使用案例 >

【已解决】PHP使用FTP发送文件报错425 Can‘t open data connection for transfer of “/test.txt“

慕项明
2023-12-01

已解决】PHP使用FTP发送文件报错425 Can’t open data connection for transfer of “/test.txt”

最近在对接农行支付,需要给前置机发送文件,用到了FTP,使用ftp客户端发送文件正常。
但是使用ftp_put发送文件的时候一直报错 425 Can’t open data connection for transfer of “/test.txt”,
网上查了好多资料,都在说防火墙的问题。但是我的ftp客户端可以正常使用,说明不是防火墙的问题。
所以就是被动模式的问题啦,ftp连接之后,ftp_pasv开启被动模式,搞定
附代码

	private function send_ftp_file($host, $dest = 'test1.txt', $source = '../logs/test.txt')
    {
        $connection = ftp_connect($host, 21);

        $login      = ftp_login($connection, $this->ftp_user_name, $this->ftp_user_pass);
        if (!$connection || !$login) {
            return false;
            // die('Connection attempt failed!');
        }
        ftp_pasv($connection, TRUE);
        $upload = ftp_put($connection, $dest, $source, FTP_BINARY);
        if (!$upload) {
            return false;
        }
        ftp_close($connection);
        return true;
    }

觉得有用支持一下啊

 类似资料: