Help us understand the problem. What is going on with this article?
![CakePHP CakeResponseを使ったファイルのダウンロード - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/dfc3336cfab36fb83727963a891b65a66c494c45/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-1150d8b18a7c15795b701a55ae908f94.png%3Fixlib%3Drb-1.2.2%26w%3D1200%26mark%3Dhttps%253A%252F%252Fqiita-user-contents.imgix.net%252F~text%253Fixlib%253Drb-1.2.2%2526w%253D840%2526h%253D380%2526txt%253DCakePHP%252520CakeResponse%2525E3%252582%252592%2525E4%2525BD%2525BF%2525E3%252581%2525A3%2525E3%252581%25259F%2525E3%252583%252595%2525E3%252582%2525A1%2525E3%252582%2525A4%2525E3%252583%2525AB%2525E3%252581%2525AE%2525E3%252583%252580%2525E3%252582%2525A6%2525E3%252583%2525B3%2525E3%252583%2525AD%2525E3%252583%2525BC%2525E3%252583%252589%2526txt-color%253D%252523333%2526txt-font%253DAvenir-Black%2526txt-size%253D54%2526txt-clip%253Dellipsis%2526txt-align%253Dcenter%25252Cmiddle%2526s%253Dc25bfe77c807a1dfbc0e0155e0674f57%26mark-align%3Dcenter%252Cmiddle%26blend%3Dhttps%253A%252F%252Fqiita-user-contents.imgix.net%252F~text%253Fixlib%253Drb-1.2.2%2526w%253D840%2526h%253D500%2526txt%253D%252540madiehak%2526txt-color%253D%252523333%2526txt-font%253DAvenir-Black%2526txt-size%253D45%2526txt-align%253Dright%25252Cbottom%2526s%253Dd1328fb4938ac64c2ce22864f0bde06f%26blend-align%3Dcenter%252Cmiddle%26blend-mode%3Dnormal%26s%3D6bd349302b3d00ce055d21a42ec24498)
ダウンロードためにCSVを作る場合、implode()などを使って、変数上でCSVを作成する方法では、値内のダブルコートや改行のエスケープが面倒なためfputcsv()を使うと良い。 参考:PHPでCSVを生成する 現実的な方法として、一旦メモリ上にCSVを作成してから出力する方法とCSV形式を都度出力する方法がある。 一旦メモリ上にCSVを作成してから出力 都度で出力に比べ一旦作ることで、Content-lengthを出力することができるので、ブラウザの「ダウンロード残り時間」を表示できる。 一旦ファイルにCSVを作成してからreadfileで出力する方法は、ディスクIOが大きくパフォーマンスに問題があるので、一旦作るならメモリ上に作成するのが良い。 PHPでの書きかた //メモリ上に領域確保 $fp = fopen('php://temp/maxmemory:'.(5*1024*102
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く