0
私は基本的にユーザの要求に応じてデータベースからデータを取得し、それをcsvファイルにエクスポートしてから自動的にそのcsvファイルをダウンロードします。機能は私が期待したように動作しますが、何らかの理由でファイルがユーザーのコンピュータにダウンロードされたときに、その中にランダムなHTMLデータがいくつかあります。私は、サーバー上に作成されたファイルをチェックして、その中にランダムなテキストがないので、ファイルにどのように追加されているのかよくわかりません。以下は、私が使用している機能です:PHPヘッダを使ったPHPファイルのダウンロード
private function _exporte()
{
$file_name = "/path-". date('d-m-Y') .".csv";
if(file_exists($file_name) == TRUE)
unlink($file_name);
$file = fopen($file_name, 'w') or die ("Can not open file to write");
$file_vars = array();
$data = $this->name_model->get_data();
$headerDisplayed = false;
foreach($data as $row)
{
$file_vars['Code'] = $row['code'];
$file_vars['Category'] = $row['category'];
$file_vars['Category ID'] = $row['category_id'];
if(!$headerDisplayed)
fputcsv($file, array_keys($file_vars));
$headerDisplayed = true;
fputcsv($file, array_values($file_vars));
}
if (file_exists($file_name))
{
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file_name));
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file_name));
readfile($file_name);
}
}
は、しかし、私は、彼らができるように、上記のエクスポート機能の中に作成される一方でcsvファイルをダウンロードするには、すべてのユーザーが必要とするあなたの時間をありがとうそれを変更してアップロードすることができます。 – user4676307
"readfile"メソッドを "file_get_contents"に置き換えます –
実際のデータを持たないランダムhtmlデータのみをエクスポートします – user4676307