Медиа отображения позволяют вам посылать бинарные файлы пользователю. Например, вы можете захотеть иметь директорию с файлами вне корня сайта, для предотвращения прямого доступа к ним. Вы можете использовать медиа отображение для того, чтобы вытянуть нужный файл из специальной папки в /app/, и это отображение позволит вам провести аутентификацию перед доставкой файла пользователю.
Для использования медиа отображения вам необходимо сообщить контроллеру об использовании класса MediaView вместо класса по умолчанию View. После этого просто передайте дополнительные параметры для определения местоположения вашего файла.
<?
class ExampleController extends AppController {
function download () {
$this->view = 'Media';
$params = array(
'id' => 'example.zip',
'name' => 'example',
'download' => true,
'extension' => 'zip',
'path' => 'files' . DS
);
$this->set($params);
}
}
?>
Параметры | Описание |
id | ID – имя файла на сервере, включая расширение. |
name | name позволяет вам определить другое имя файла, с которым он будет послан пользователю. Определяйте имя без расширения. |
download | Логическое значение, показывающее должны ли быть заданы заголовки для принудительной загрузки. |
extension | Расширение файла. Должно соответствовать внутреннему списку доступных mime-типов. Если определенного mime-типа нет в списке, то файл не будет загружен. |
path | Имя каталога, включая последний разделитель. Путь относительно каталога APP. |
mimeType | Массив с дополнительными mime-типами, для пополнения внутреннего списка доступных mime-типов. |