在php / magento中上传zip文件的问题

时间:2013-06-25 10:16:29

标签: php file magento zip unzip

这是我试图在某个位置上传zip并解压缩的代码 -

//Path where extracted files to be stored, path is correct already checked
$path = Mage::getBaseDir(). DS .'pdf_locator'. DS;

$zip = new ZipArchive;
echo "<pre>";print_r($_FILES);
echo $_FILES['filename']['name'];

$name = $_FILES['filename']['name'];
$res = $zip->open("$name");//File name in server.
echo " --- ", $res, " --- ";
die;
if ($res === TRUE) {
    $zip->extractTo($path);//Destination directory
    $zip->close();
    echo 'successfully extracted';
} else {
    echo 'failed';
}

输出 -

Array
(
    [filename] => Array
        (
            [name] => swap.zip
            [type] => application/zip
            [tmp_name] => /tmp/phpqx2qH2
            [error] => 0
            [size] => 478441
        )

)
swap.zip --- 11 --- 

我期待TRUE,但它会从文档中抛出错误代码11。让我知道我在代码中做错了什么。

仅供参考 - Zip已启用,请检查屏幕截图。

zipinfo

1 个答案:

答案 0 :(得分:2)

我认为您应该使用位于服务器上的文件的'tmp_name'来打开存档?

$name = $_FILES['filename']['name'];

应该是这样吗?

$name = $_FILES['filename']['tmp_name'];

如果我错了:你检查了文件系统权限(r / w / x)吗?