プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
FuelPHP1.6、ファイルのダウンロードを理解する。
まぁPHPを使ったファイルのダウンロードなんていう奴は、
ヘッダをゴスっ!と書き出して中身をペッと吐き出せば良いので難しいところは無いのですが
「FuelPHPさん用の書き方があるの(--?」と疑問を覚えたので調べてみました。

そして調べてみた結果……普通にPHPで書くファイルダウンロード処理とほぼ同じでした(--ゞ

例えばこんなコードでOKφ(--)
public function action_test01()
{
    $downloadFileName = "text.txt";

    $res = Response::forge();
    $res->set_header('Content-Type', 'application/octet-stream');
    $res->set_header('Content-Disposition', 'attachment; filename="' . $downloadFileName . '"');
    $res->send(true);

    echo "ファイルの中身だよ~";
}

中身のデータはヒアドキュメントで設定しても良いしφ(--)
public function action_test02()
{
    $downloadFileName = "text2.csv";
    $data = <<<DATA
"a","b","c"
"あ","い","う"
DATA;


    $res = Response::forge();
    $res->set_header('Content-Type', 'application/octet-stream');
    $res->set_header('Content-Disposition', 'attachment; filename="' . $downloadFileName . '"');
    $res->send(true);

    echo $data;
}

普通にループしてCSV出力とかもできますφ(--)
public function action_test03()
{
    $downloadFileName = "text3.csv";

    $res = Response::forge();
    $res->set_header('Content-Type', 'application/octet-stream');
    $res->set_header('Content-Disposition', 'attachment; filename="' . $downloadFileName . '"');
    $res->send(true);

    for($i = 0; $i < 10; $i++){
        echo $i . "," . ($i + 1) . "\n";
    }

}

自分で書いておいてなんですが、わざわざ取り上げる必要無かったカモ(--ゞ
 
このエントリーをはてなブックマークに追加 

category:FuelPHP  thema:パソコンな日々 - genre:コンピュータ  Posted by ササキマコト 

  関連記事