0
symfonyプロジェクトでCSVエクスポートを実行しようとしていますが、何も起こりません。csv exportが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オブジェクト内のコールバック関数を挿入した後!あなたの答えをありがとう!私はそれをし、私はStreamedResponseコンテンツを見た。これはOKですが、なぜCSVファイルがダウンロードされていないのかわかりません...? – Moh
あなたがこのコンテンツを表示していない場合は、'に誤りがあります。あなたの行動の中に戻りがないかもしれません。あなたは変数 'export'を返さなければなりませんが、通常はあなたが手に入れない場合'何も返さないsymfonyはエラーを返して応答を返さなければなりません。 –