将数据从Drupal保存到本地系统文件

时间:2010-02-15 22:16:44

标签: drupal-6 saving-data

我创建了一个显示一些报告数据的drupal模块。我想包含一个选项,使用户可以查看页面将数据保存为本地系统上的txt或csv文件,但我遇到了以下问题:

  1. 如何指定要保存的本地目录。
  2. 如何将数据实际保存到目录中。
  3. 我已阅读drupal api文档中的表格。有一个“文件”输入类型,允许用户浏览他们的系统并选择要上传的位置。我还查看了file_save_data()函数,但似乎数据只保存在drupal站点目录中。

    非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

  

如何指定要保存到的本地目录。

你做不到。用户的浏览器会将您的文件保存到浏览器的默认下载目录,或者它会提示用户选择一个位置。让网站选择保存文件的位置将是一个主要的安全漏洞 - 他们可以创建病毒的桌面快捷方式,添加启动项等等。

答案 1 :(得分: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(); 

die()需要进入,否则页面html将被附加到文件中。