PHP7 以后使用 CURL 链接 FTP 上传文件

php7之后无法使用ssh2_connect()函数链接ftp服务器,找了很久之后发现CURL可以解决,写篇文章记录一下吧!

        $localFile = '/var/www/test/a.txt';
        $pathInfo = pathinfo($localFile);
        $uploadFileName = $pathInfo['basename'];
        $fileSize = fileSize($localFile);
        $fh = fopen($localFile, 'r');//获取文件句柄, https://php.net/curl_setopt,文档里面也有人贡献代码,但是我测试不通过,作者写多了一个配置CURLOPT_PROTOCOLS => CURLPROTO_FTP,
        $connection = 'ftp://xxxxx' . $uploadFileName;
        $userPwd = 'root:password';//系统用户名:系统密码
        $ch = curl_init();
        curl_setopt_array(
            $ch,
            array(
                CURLOPT_URL => $connection,
                CURLOPT_USERPWD => $userPwd,
                CURLOPT_UPLOAD => true,
                CURLOPT_INFILE => $fh,
                CURLOPT_INFILESIZE => $fileSize,
                CURLOPT_RETURNTRANSFER => true,
                CURLOPT_HEADER => false,
            )
        );
        curl_exec($ch);
        if(curl_errno($ch) !== CURLE_OK){
            throw new Exception(curl_error($ch));
        }
        curl_close($ch);
本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!