Php MySQLi导出到csv

Php MySQLi导出到csv,php,mysqli,Php,Mysqli,我有一个脚本,但我似乎无法调整或找到输出文件。 我希望在生成文件时将其转到特定目录-在保存时,我认为它是test1.csv,但我实际上找不到该文件的位置,因此无法100%确定该文件是否已生成 因此,在我的例子中,理想情况下,它将进入/var/www/html/administration/csvs这样的目录 include ('/var/www/html/administration/connections/connection.php'); $query = "CALL report_c05

我有一个脚本,但我似乎无法调整或找到输出文件。 我希望在生成文件时将其转到特定目录-在保存时,我认为它是test1.csv,但我实际上找不到该文件的位置,因此无法100%确定该文件是否已生成

因此,在我的例子中,理想情况下,它将进入/var/www/html/administration/csvs这样的目录

include  ('/var/www/html/administration/connections/connection.php');
$query = "CALL report_c05($system_id,$entity_id, $client_idx, '$start_date',    '$end_date')";
$result = $con->query($query);
if (!$result) die('Couldn\'t fetch records');
$headers = $result->fetch_fields();
foreach($headers as $header) {
    $head[] = $header->name;
}
$fp = fopen('php://output', 'w');
if ($fp && $result) {
header('Content-Type: text/csv');
header('Content-Disposition: attachment; filename="test1.csv"');
header('Pragma: no-cache');
header('Expires: 0');
fputcsv($fp, array_values($head)); 
while ($row = $result->fetch_array(MYSQLI_NUM)) {
    fputcsv($fp, array_values($row));
}
die;
}
有什么想法吗

第二个问题是——这是作为cron作业运行的——cron日志现在包含了该查询的所有输出——这不是很有帮助——对此我能做些什么吗

谢谢

谢谢路易吉: 下一个有问题的人的完整工作代码:

include  ('/var/www/html/administration/connections/connection.php');
$query = "CALL report_c05($system_id,$entity_id, $client_idx, '$start_date',     '$end_date')";
$result = $con->query($query);
if (!$result) die('Couldn\'t fetch records');
$headers = $result->fetch_fields();
foreach($headers as $header) {
$head[] = $header->name;
}
$fp = fopen('/var/www/html/administration/test1.csv', 'x');
if ($fp && $result) {
fputcsv($fp, array_values($head)); 
while ($row = $result->fetch_array(MYSQLI_NUM)) {
    fputcsv($fp, array_values($row));
}
die;
}

您正在向
php://output
。看。由于您是在cronjob中运行脚本,
php://output
将写入标准输出,cron守护进程将根据其配置在其日志中很好地呈现给您

此外,发送HTTP头也没有意义,因为您没有执行HTTP


您只需
fopen()
所需的输出文件和
fputcsv()
其中的数据。

一旦检查该文件是否在该程序所在的同一文件夹中生成。。。还有一次检查MySQL文件夹。。有一次我这么做了。。我的文件被复制到WAMP中的MySQL文件夹中…我根据您的答案添加到我的问题中