Я только что обновил от cakephp 1.1 до 1.3. У меня все на сайте обновлено и отлично работает, за исключением создания и загрузки zip-файлов.Правильный способ в CakePHP 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();
}
Когда я называю это действие, однако, я получаю сообщение об ошибке:
Error: The requested address '/accounts/zip' was not found on this server.
Он работал так же, как это в версии 1.1. Я предполагаю, что что-то изменилось, но я не уверен, что и не смог найти что-либо, что уместно в документации.
zip.ctp вид файла делает существует, но она не имеет ничего в ней кроме: <?php ?>
Я подозреваю, что что-то изменилось с раскладками. В каталоге/layouts отсутствует «zip.ctp». Однако я изменил эту строку на $this->layout('default');
, и она отображает пустую страницу с NO ERROR, но также без загрузки.
Пожалуйста, направляйте меня надлежащим образом, чтобы загрузить мой zip-файл в торте 1.3. Заранее спасибо.
Спасибо, я подумал, может ли быть несколько. Спасибо за ссылку. Я пропустил это - это выглядит очень полезно. Если я использую свой макет по умолчанию, будет ли этот класс заставлять мою страницу пытаться перейти на/zip? Я хочу, чтобы он остался на той же странице и просто загрузил файл. – dwlorimer
Какой макет, который вы используете, не должен влиять на то, что происходит с логикой контроллера или модели, если вы не вставляете какой-либо необычный код в один из ваших макетов. Поэтому я бы подумал, что вы можете использовать либо отлично. – Kai
Благодарим вас - просмотр мультимедиа кажется отличным. Я могу скачать PDF-документы в порядке. Однако, когда я пытаюсь загрузить .zip-файл, размер файла правилен, но когда я пытаюсь разархивировать его, Windows говорит, что он пуст. Если я загружаю тот же самый файл с помощью ftp (вместо браузера), все в порядке. Есть идеи? Я могу задать новый вопрос, если понадобится. – dwlorimer