2014-09-18 3 views
0

Я использую CakePHP 2.5кнопку Создать, чтобы загрузить файл на CakePHP

У меня есть файл с именем XXX.zip, который находится в корневой директории/загружаемым. Я хотел бы создать кнопку в Cakephp, которая позволяет пользователю щелкнуть и загрузить этот файл. Как должен выглядеть код в cakephp? Я полагаю, что этот код должен находиться в поле зрения и будет выглядеть примерно так:

echo $this->Form->button('Submit', array('type' => 'submit')); 

Но как вставить информацию о местоположении файла? Файл, который будет загружен, находится в папке webroot/downloadable.

+1

, пожалуйста, посмотрите на http://book.cakephp.org/2.0/en/controllers/request-response.html#sending-files – Abhishek

+0

Разве это не достаточно, чтобы связать содержание сразу? Я имею в виду только ссылку на www.domain.com/downloadable/file, которую ваш браузер позаботится о такой загрузке. – LuisClemente

+1

@LuisClemente: в моем случае это не сработает, потому что файл должен быть создан первым до того, как будет работать ссылка. Нажав на кнопку, сначала создадим файл с застежкой-молнией, а затем предоставим ссылку для пользователя, чтобы загрузить файл. – user781486

ответ

1

Используйте CakeResponse :: file(), чтобы отправить файл по запросу.

Поваренная книга cakephp описывает эту относительно легкую задачу очень хорошо. http://book.cakephp.org/2.0/en/controllers/request-response.html#cake-response-file

+0

Спасибо за ответ. Теперь я знаю, как обрабатывать часть контроллера. Я могу создать функцию контроллера, называемую downloadFile. Но как насчет части обзора? Я хотел бы добавить кнопку в моем view.ctp, которая позволяет пользователю загружать файл. – user781486

+1

Проверьте это: http://book.cakephp.org/2.0/ru/core-libraries/helpers/html.html и найдите кнопку. –

Смежные вопросы