我从数组创建了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);
根据这个函数,为我提供了很好的解决方案
发布于 2018-02-23 02:33:08
使用fopen
打开要保存的文件
$fp = fopen('path/to/file', 'w')
发布于 2018-02-23 02:41:00
您的代码是将文件保存在客户端中。如果您的文件自动保存在默认下载文件夹中,则这是浏览器中的配置,而不是代码中的配置。
https://stackoverflow.com/questions/48934814
复制相似问题