我刚从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');
,并且它呈现一个空白页面,没有错误,但也没有下载。
请指导我在蛋糕1.3中下载我的zip文件的正确方法。提前谢谢。
答案 0 :(得分:1)
这里有两个不同的问题。你得到的错误是因为你没有zip布局文件。至于获取zip文件的问题,您应该使用媒体视图类 - http://book.cakephp.org/1.3/en/The-Manual/Developing-with-CakePHP/Views.html#media-views