0

我想在第二个 ftp 帐户中提取文件?

我试过这个脚本,但它不起作用:

$zip = new ZipArchive;
$zip->open('ftp://user:password@host/tmp/file.zip'); 
$zip->extractTo('ftp://user:password@host/public_html/'); 
$zip->close();

为了调试,我添加了以下内容:

$zip = new ZipArchive;
$res = $zip->open('ftp://user:password@host/tmp/file.zip');
if ($res === TRUE) {
    echo 'ok';
    $zip->extractTo('ftp://user:password@host/public_html/');
    $zip->close();
} else {
    echo 'failed, code:' . $res;
}

由此我发现$zip->open命令失败,错误代码11

我不知道该怎么做才能进一步调试。有人对可能出现的问题有任何建议吗?

4

1 回答 1

0

您可以尝试使用ftp_get()在本地抓取文件,然后再对其进行操作。

$conn_id = ftp_connect( 'host' );
$login_result = ftp_login($conn_id, 'user', 'password');
if (ftp_get($conn_id, 'file.zip', 'tmp/file.zip', FTP_BINARY)) {
    // Success! File is now at local "file.zip"

    $zip = new ZipArchive;
    $zip->open( 'file.zip' ); 
    $zip->extractTo('ftp://user:password@host/public_html/'); 
    $zip->close();

} else {
    echo "There was a problem\n";
}

ftp_close($conn_id);
于 2013-10-29T23:14:10.980 回答