Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从另一个ftp解压文件_Php_Ftp_Unzip - Fatal编程技术网

Php 从另一个ftp解压文件

Php 从另一个ftp解压文件,php,ftp,unzip,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->o

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

我不知道如何进一步调试。有人对可能出现的错误有什么建议吗?

您可以尝试使用在本地获取文件,然后再对其进行操作

$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);

你为什么认为它不起作用?如果您使用本地ftp帐户,同样的方法是否有效?你在你想写的地方有写权限吗?@Floris我不知道为什么这不起作用,是的,我在这个地方有写权限(public_html)。此脚本未返回任何错误,但仍然未提取。@Floris的问题在zip open()中。您能否确认您对原始位置的文件具有r/w权限?您可以传入一些标志-在某些系统上,它们显然不是可选的。请参阅-中的注释,例如,尽管api指定标志是可选的,但我发现我必须为要打开的存档指定标志ZIPARCHIVE::CREATE。这是在使用PHP5.3的Windows7系统上实现的。0@Floris是的,我可以确认。我已经添加了ZIPARCHIVE::CREATE,但仍然无法工作。我尝试并得到以下错误:PHP警告:ZIPARCHIVE::close()[]:无效或统一化的Zip对象如果查看文件系统,是否在本地看到与PHP文件相同的路径中的file.Zip