使用Symfony创建一个zip

时间:2015-03-29 03:57:56

标签: php symfony

您好我尝试使用Symfony创建一个Zip文件

从ZIPArchive的php文档中,我这样做:

/**
     * @Route(
     *      "/up/waka/download/",
     *      name="getEbook"
     * )
     * @Method("GET")
     */
    public function getEbookAction()
    {

        $zip = new \ZipArchive();
        $filename =  "./fdgfdgdfgdf2.zip";



        if ($zip->open($filename, ZipArchive::CREATE)!==TRUE) {
            exit("cannot open <$filename>\n");
        }

        $zip->addFromString("testfilephp.txt" . time(), "#1 This is a test string added as testfilephp.txt.\n");
        $zip->addFromString("testfilephp2.txt" . time(), "#2 This is a test string added as testfilephp2.txt.\n");


        $zip->close();

        dump($this->container, $zip);
        return $this->render('AppBundle:Front:index.html.twig')
            ->setSharedMaxAge(600);


    }

我返回一个视图,因为控制器需要返回一些东西,我选择一个视图,它用于演示。 dump($this->container, $zip);会返回此信息:

ZipArchive {#1764 ▼
  +"status": 12
  +"statusSys": 13
  +"numFiles": 2
  +"filename": "/var/www/html/proyectname/web/fdgfdgdfgdf2.zip"
  +"comment": ""
}

但是,我没有在这条路线中看到zip文件。我的错误是什么?

1 个答案:

答案 0 :(得分:0)

哪些权限包含&#34; web&#34;目录?尝试将其设置为755

  1. 检查phpinfo();如果已启用Zip
  2. 检查&#34; extension = zip.so&#34;介绍在php.ini
  3. 如果两个选项均为false,请尝试安装zip包:

    $ pecl install zip
    

    并手动将extension = zip.so添加到您的php.ini中。重启PHP。