0
我嘗試在我的symfony項目上做一個csv導出,我認爲有什麼錯誤,因爲沒有任何反應,我沒有錯誤......?csv導出不與symfony 3一起工作
public function exportCsv($customers)
{
$fileName = "export_" . date("d_m_Y") . ".csv";
$response = new StreamedResponse();
$response->setCallback(function() use ($customers){
$handle = fopen('php://output', 'w+');
// Nom des colonnes du CSV
fputcsv($handle, array('Name',
'Adress',
'City',
'Code'
), ';');
//Champs
foreach ($customers as $index => $customer)
{
//dump($client);die();
fputcsv($handle,array(
$customer->getName(),
$customer->getAdress(),
$customer->getCity(),
$customer->getCode(),
),';');
}
fclose($handle);
});
$response->setStatusCode(200);
$response->headers->set('Content-Type', 'text/csv; charset=utf-8', 'application/force-download');
$response->headers->set('Content-Disposition','attachment; filename='.$fileName);
return $response;
}
我調用這個函數在我CONTROLER這樣的:
if (isset($_POST['export']))
{
$export = $exp->exportCsv($customers);
}
你有什麼想法,請???
OK裏面的回調函數!謝謝你的回答!我做到了,我看到了StreamedResponse內容。爲此,它是好的,但我不知道爲什麼csv文件不下載...? – Moh
如果您看到您不知道的內容'有任何錯誤。也許你在行動中沒有回報。你必須返回你的變量'export',但通常如果你不想返回任何東西,Symfony會拋出一個錯誤,說你必須返回一個響應。 –