如何限制对使用PHP创建的CSV文件的下载访问? 目标:
我需要通过PHP创建CSV文件,但限制负责创建文件的成员的下载权限 背景: 网站成员可以选择将其个人资料数据输出到CSV文件。创建的CSV文件表示潜在的隐私问题。我担心如果两个成员同时创建CSV文件,重叠可能会导致一个成员的数据泄露给另一个成员 我所尝试的:如何限制对使用PHP创建的CSV文件的下载访问? 目标:,php,csv,Php,Csv,我需要通过PHP创建CSV文件,但限制负责创建文件的成员的下载权限 背景: 网站成员可以选择将其个人资料数据输出到CSV文件。创建的CSV文件表示潜在的隐私问题。我担心如果两个成员同时创建CSV文件,重叠可能会导致一个成员的数据泄露给另一个成员 我所尝试的: 我的问题: 如何限制创建CSV文件的成员的下载权限 由于CSV文件本质上是共享文件,因此在创建CSV文件时,成员之间是否会发生重叠 到目前为止,我的想法是给每个CSV文件一个唯一的名称,而不是重写同一个文件。这将解决重叠问题,尽管文件在
我的问题:
有更好的方法解决所有这些问题吗?最简单的方法就是将数据输出到
stdout
,并在调用脚本时发送正确的头文件
例如,您有以下HTML链接:
<a href="download_csv.php">Download as CSV</a>
这将解决您的两个问题。最简单的方法是将数据输出到stdout并在调用脚本时发送正确的头 例如,您有以下HTML链接:
<a href="download_csv.php">Download as CSV</a>
这将解决您的两个问题。我已经对此进行了测试,效果非常好。感谢您对stdout使用的解释和示例。我已经测试过了,效果非常好。感谢您对stdout使用的解释和示例。
$list = array (
array('1', '2', '3', '4'),
array('a', 'b', 'c', 'd')
);
// Send the proper headers
header('Content-Type: text/csv');
header('Content-Disposition: attachment; filename=results.csv');
// Open stdout instead of an actual file
$fp = fopen('php://output', 'w');
foreach ($list as $fields) {
fputcsv($fp, $fields);
}
fclose($fp);