我从数组创建了一个CSV文件,但无法将其保存到特定目录中。
PHP函数喜欢从数组创建csv
public function outputCsv($fileName, $assocDataArray)
{
ob_clean();
header('Pragma: public');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Cache-Control: private', false);
header('Content-Type: text/csv');
header('Content-Disposition: attachment;filename=' . $fileName);
if(isset($assocDataArray['0'])){
$fp = fopen('php://output', 'w');
fputcsv($fp, array_keys($assocDataArray['0']));
foreach($assocDataArray AS $values){
fputcsv($fp, $values);
}
fclose($fp);
}
ob_flush();
}
数组
$data = array(
array( 'item' => 'Server', 'cost' => 10000, 'approved by' => 'Joe'),
array( 'item' => 'Mt Dew', 'cost' => 1.25, 'approved by' => 'John')
array( 'item' => 'IntelliJ IDEA', 'cost' => 500, 'approved by' => 'James'),
);
从此功能获取输出:
outputCsv('expenses.csv', $data);
根据此功能为我提供良好的解决方案
答案 0 :(得分:0)
使用fopen
$fp = fopen('path/to/file', 'w')
答案 1 :(得分:0)
您的代码是将文件保存在客户端中。 如果您的文件自动保存在默认的下载文件夹中,那么这是您浏览器中的配置,而不是代码中的配置。