Урок - Как отдать пользователю файл в Drupal 6

Главная » Курсы » Курс Drupal 6, Разработка модулей. » Урок - Как отдать пользователю файл в Drupal 6

Обучающий онлайн курс
Drupal 6, Разработка модулей.

Лицензия: Копирование запрещено.

Одна из частых задач для программистов. Отдавать приходится как текстовые файлы, видео файлы, презентации, архивы, документы.

Drupal написан на PHP и все правила и возможности языка PHP доступны Drupal-разработчикам.

Чистый PHP код будет выглядеть так:

$fileName = 'ramech.net.txt';
header('Content-Disposition: attachment; filename='.basename($fileName));
header('Content-Type: text/plain');
readfile($fileName);
exit();

Скрипт отдает браузеру содержимое текстового файла "ramech.net.txt". Обратите внимение, что именно текстового. Для других типов файлов нужно менять тип документа на соответствующий:

header('Content-Type: Вставлять/сюда');

В Drupal аналогично:

/**
 * Реализация hook_menu()
 */
function ramechnet_menu()
{
    $items['download'] = array(
        'title' => 'Download',
        'page callback' => 'ramechnet_download_page',
        'access arguments' => array('administer site configuration'),
    );
    return $items;
}
 
/**
 * Страница скачивания
 */
function ramechnet_download_page()
{
	$fileName = 'ramech.net.txt';
	header('Content-Disposition: attachment; filename='.basename($fileName));
	header('Content-Type: text/plain');
	readfile($fileName);
	exit;
}