我想在第二个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
。
我不知道如何进一步调试。有没有人对可能出错的地方有任何建议?
答案 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);