CakePHP : Manual/Developing/Views/MediaViews

Медиа отображения


Медиа отображения позволяют вам посылать бинарные файлы пользователю. Например, вы можете захотеть иметь директорию с файлами вне корня сайта, для предотвращения прямого доступа к ним. Вы можете использовать медиа отображение для того, чтобы вытянуть нужный файл из специальной папки в /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);
    }
}
?>



Параметры Описание
idID – имя файла на сервере, включая расширение.
namename позволяет вам определить другое имя файла, с которым он будет послан пользователю. Определяйте имя без расширения.
downloadЛогическое значение, показывающее должны ли быть заданы заголовки для принудительной загрузки.
extensionРасширение файла. Должно соответствовать внутреннему списку доступных mime-типов. Если определенного mime-типа нет в списке, то файл не будет загружен.
pathИмя каталога, включая последний разделитель. Путь относительно каталога APP.
mimeTypeМассив с дополнительными mime-типами, для пополнения внутреннего списка доступных mime-типов.

<< Темы | Помощники >>