今天才知道原來 lighttpd or ngix 都有 X-sendfile 這一類的好東西阿!!!
用這一類手法可以有複雜的認證/檢查, 然後檔案還可以送得又快又好 XD
用php吐靜態檔案 跟用 lighttpd吐靜態檔案的效率實在差太多了啊 XD

有興趣的人可以看以下兩個link or google找更多資料:
http://blog.lighttpd.net/articles/2006/07/02/x-sendfile
http://trac.lighttpd.net/trac/wiki/Docs%3AModFastCGI

以lighttpd為例, 用法如下:
lighttpd.conf fastcgi部分加上:
"allow-x-send-file" => "enable"

sample code:
$path="/home/data/ooxx";
$file="actual_file.zip";
$file_to_download='filename.zip';

//X-Sendfile sample: X-Sendfile (lighttpd 1.5+) or X-LIGHTTPD-send-file ( header("Content-Type: Text/Plain");
header("Content-Length: ".filesize("$path/$file"));
header( "Content-Disposition: attachment; filename=\"" . $file_to_download . '"' );

if($_SERVER['SERVER_SOFTWARE']<'lighttpd/1.5')
header("X-LIGHTTPD-send-file: $path/$file");
else
header("X-Sendfile: $path/$file");
?>


簡單好用, 一看就懂吧 XD
arrow
arrow
    全站熱搜

    Izero 發表在 痞客邦 留言(1) 人氣()