ダウンロードではなくリンクをクリックしてブラウザ ウィンドウで CSV ファイルが開く場合、コードとサーバー設定の変更が必要です.
質問 2 で提案されているアプローチ、つまりダウンロードを処理する別の PHP ファイル (csv.php) を作成する方法は、意図したとおりに機能するはずです。ただし、代わりのアプローチは、header() 関数と readfile() 関数を HTML ページで直接使用することです。この方法では、実際の CSV ファイルが確実にダウンロードされます。
適切なヘッダーを設定します:
header('Content-Type: application/csv'); header('Content-Disposition: attachment; filename="example.csv"'); header('Pragma: no-cache');
CSVファイルの内容を出力するにはreadfile():
readfile("/path/to/example.csv");
より汎用的なソリューションとして、.htaccess ファイルを変更してすべての CSV ファイルを強制的にダウンロードできます。 :
AddType application/octet-stream csv
これらの解決策のいずれかを実装すると、CSV ファイルが表示されるのではなく強制的にダウンロードされるようになります。ブラウザウィンドウ。
以上がPHP で CSV ファイルのダウンロードを強制する方法: ヘッダーと `.htaccess` のアプローチ?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。