0

我刚刚从 cakephp 1.1 升级到 1.3。除了创建和下载 zip 文件外,我已经更新了网站上的所有内容,并且运行良好。

这是我的 accounts_controller.php 中的代码:

  function zip() {
        $this->checkSession();
        $this->checkUpgradedAccount();
        $files = array();
        $this->layout="zip";

    /*
    code where I locate the files to zip, combine them, etc
    */

            $tmp_file = "/home/[userdirectory]/tmp/".md5(mktime()).".zip";  //directory name edited
            $command = "/usr/bin/zip -j $tmp_file ".implode(" ",$zip_files);
            exec($command);
            foreach($zip_files as $zf) {
                unlink($zf);
            }
            $file_path = $tmp_file;
            $this->set("path",$file_path);
            $this->render();
}

但是,当我调用此操作时,出现错误:

错误:在此服务器上找不到请求的地址“/accounts/zip”。

它在 1.1 版中就是这样工作的。我假设有些事情发生了变化,但我不确定是什么,并且无法在文档中找到任何相关的内容。

zip.ctp 视图文件确实存在,但除了:<?php ?>

我怀疑布局有些不同。/layouts 目录中没有“zip.ctp”。但是,我已将该行更改为$this->layout('default'); ,它呈现一个没有错误的空白页面,但也没有下载。

请指导我以正确的方式在 cake 1.3 中下载我的 zip 文件。提前致谢。

4

1 回答 1

1

你在这里有两个不同的问题。您收到的错误是因为您没有 zip 布局文件。至于获取 zip 文件的问题,您应该使用媒体视图类 - http://book.cakephp.org/1.3/en/The-Manual/Developing-with-CakePHP/Views.html#media-views

于 2013-08-28T18:04:12.210 回答