gpt4 book ai didi

php - 删除sql转储文件

转载 作者:行者123 更新时间:2023-11-30 01:30:33 25 4
gpt4 key购买 nike

我使用 SQL 查询创建一个 csv 文件:

        $sql = "SELECT 'id','username','name','email',
'phone_number','city',
'batch','course_type' UNION ALL
SELECT id, username, name, email,
phone_number, city, batch, course_type
FROM users INTO OUTFILE '".$file_path."' ".
"FIELDS TERMINATED BY ','
ENCLOSED BY '\"'
LINES TERMINATED BY '\n'";

导致浏览器强制下载此文件后,我需要从/tmp 目录中删除此文件。但由于该文件属于 mysql 所有,因此 php 代码无法删除它。如何在代码中更改此文件的权限以便删除该文件?

最佳答案

正确执行此操作的一个解决方案是(这是如何完成此操作的一个粗略示例):

以数组形式从数据库返回数据,并迭代它:

// tell the browser that this is a download
header("Content-type: text/csv");
header("Content-Disposition: attachment; filename=list.csv");

// column separator
$separator = ';';
// field delimiter
$field_delimiter = '"';
// line end
$line_end = "\r\n";

foreach ($result as $row):

$i = 0;

foreach ($row as $item):
// do not add separator before the first item
if ($i > 0)
{
echo $separator;
}

echo $field_delimiter.$item.$field_delimiter;

$i++;

endforeach;

// line end
echo $line_end;

endforeach;

不输出任何其他内容,仅输出 CSV 内容。

关于php - 删除sql转储文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17522083/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com