从另一个ftp解压缩文件

时间:2013-10-29 21:55:20

标签: php ftp unzip

我想在第二个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

我不知道如何进一步调试。有没有人对可能出错的地方有任何建议?

1 个答案:

答案 0 :(得分: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);