2010-02-15 1 views
0

Я создал модуль drupal, который отображает некоторые данные отчетности. Я хотел бы включить опцию, которая позволяет пользователю при просмотре страницы, чтобы сохранить данные в виде TXT или файл CSV на их локальной системе, но я бег на следующие проблемы:Сохранение данных из Drupal в локальный системный файл

  1. Как указать локальный каталог для сохранения к.
  2. Как фактически сохранить данные в каталоге.

Я прочитал документацию drupal api для форм. Существует тип ввода «файл», который позволяет пользователю просматривать свою систему и выбирать местоположение для загрузки. Я также посмотрел на функцию file_save_data(), но кажется, что данные сохраняются только в каталоге сайта drupal.

Любая помощь была бы принята с благодарностью.

ответ

1

Как указать локальный каталог для сохранения.

Вы не можете. Браузер пользователя сохранит ваши файлы в каталоге загрузки по умолчанию в браузере, иначе он предложит пользователю выбрать местоположение. Позволить медиатор сайта, где файл будет сохранен будет основная дырой в безопасности - они могут создавать ярлыки рабочего стола на вирусы, добавлять элементы автозагрузки и т.д.

+0

+1 Не знаю, почему вы были занижены для правильного ответа на вопрос - ответ, отправленный OP, фактически не отвечает на вопрос (как указать местоположение) – Basic

0

Это работает для меня:

$file = file_save_data($data, $dest, $replace = FILE_EXISTS_RENAME); 
drupal_set_header($header = "Content-type: text"); 
drupal_set_header($header = "Content-Disposition: attachment; filename=$file.xls"); 
readfile($file); 
die(); 

Жребия() необходимо войти туда, иначе страница html будет добавлена ​​к файлу.

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