0

我已经为此工作了几天,并且尝试了许多不同的方法。我现在拥有的至少开始传输.zip文件,但是,其中没有任何内容,只有文件名。
我有这个连接到文件所在的服务器(服务器a):

<?php
    header('Content-Transfer-Encoding: binary');
    header('Content-Length: '.filesize($file));
    header('Content-Type: application/zip');
    ini_set('display_errors',"1");
    require_once('ftp.php');

    // set up basic connection
    $conn_id = ftp_ssl_connect($ftp_server);//ftp_connect

    // login with username and password
    $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
    ftp_pasv($conn_id, true);

    // check connection
    if ((! $conn_id ) || (! $login_result )) {
        echo "FTP connection has failed!" ;
        exit;
    } else {
        echo "Connected for user $ftp_user_name" ;
        echo "<br/>";
    }
?>

这一切都很好,并回显了用户名。要传输.zip文件本身,我正在使用:

// using curl to get file
$url = $file;
$fh = fopen(basename($url), "wb");
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_FILE, $fh);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 15);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
$data = curl_exec($ch);

curl_close($ch);

这会将文件名放在远程文件夹(服务器 b)中,但其中没有任何内容,大小为 0 字节。如何获取整个文件的传输以便我可以提取它并使用信息?

4

0 回答 0