Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何限制对使用PHP创建的CSV文件的下载访问? 目标:_Php_Csv - Fatal编程技术网

如何限制对使用PHP创建的CSV文件的下载访问? 目标:

如何限制对使用PHP创建的CSV文件的下载访问? 目标:,php,csv,Php,Csv,我需要通过PHP创建CSV文件,但限制负责创建文件的成员的下载权限 背景: 网站成员可以选择将其个人资料数据输出到CSV文件。创建的CSV文件表示潜在的隐私问题。我担心如果两个成员同时创建CSV文件,重叠可能会导致一个成员的数据泄露给另一个成员 我所尝试的: 我的问题: 如何限制创建CSV文件的成员的下载权限 由于CSV文件本质上是共享文件,因此在创建CSV文件时,成员之间是否会发生重叠 到目前为止,我的想法是给每个CSV文件一个唯一的名称,而不是重写同一个文件。这将解决重叠问题,尽管文件在

我需要通过PHP创建CSV文件,但限制负责创建文件的成员的下载权限

背景: 网站成员可以选择将其个人资料数据输出到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);