Symfony2 создать и скачать ZIP-файл

У меня есть одно приложение, которое загружает некоторые файлы, а затем я могу сжать как ZIP-файл и скачать.

Экспортное действие:

public function exportAction() {
        $files = array();
        $em = $this->getDoctrine()->getManager();
        $doc = $em->getRepository('AdminDocumentBundle:Document')->findAll();
        foreach ($_POST as $p) {
            foreach ($doc as $d) {
                if ($d->getId() == $p) {
                    array_push($files, "../web/".$d->getWebPath());
                }
            }
        }
        $zip = new \ZipArchive();
        $zipName = 'Documents-'.time().".zip";
        $zip->open($zipName,  \ZipArchive::CREATE);
        foreach ($files as $f) {
            $zip->addFromString(basename($f),  file_get_contents($f)); 
        }

        $response = new Response();
    $response->setContent(readfile("../web/".$zipName));
    $response->headers->set('Content-Type', 'application/zip');
    $response->header('Content-disposition: attachment; filename=../web/"'.$zipName.'"');
    $response->header('Content-Length: ' . filesize("../web/" . $zipName));
    $response->readfile("../web/" . $zipName);
    return $response;
    }

все в порядке, пока заголовок строки. и каждый раз, когда я иду сюда, я получаю сообщение об ошибке: «Предупреждение: readfile (../ web / Documents-1385648213.zip): не удалось открыть поток: нет такого файла или каталога»

Что случилось?

и почему, когда я загружаю файлы, эти файлы имеют права root, и то же самое происходит с файлом zip, который я создаю.

Ответы на вопрос(6)

Ваш ответ на вопрос