きづいたら

一枚(1File)1000行とか普通に超えてる状態のソースがあちこちに。
そんなに書くやつは頭おかしいとか思ってたんだけど、慣れなのね。
1000行でもたんない。
コメントも含む上にコメントすごい多いんだけど。
備忘の意味も含めてダウンローダーのソース。
————–
/**
* Downloader
**/
//下準備
if(!$_GET[‘docid’]){
exit();
} else {
$docid = (int)$_GET[‘docid’];
unset($_GET[‘docid’]);
}
$file = New hoge($db);
$file->pullFile($docid);
//$file->file 中身
//HTTP Header send * S T A R T *
header(“Expires: Mon, 26 Jul 1997 05:00:00 GMT”);
header(“Last-Modified: ” . gmdate(“D, d M Y H:i:s”) . ” GMT”);
header(“Content-Type: application/octet-stream”);
//File名を別途格納している場合の処理(に限る。BLOBとかで。
if(ereg(“Macintosh” , $_SERVER[“HTTP_USER_AGENT”])){
header(“Content-disposition: inline”);
} elseif(ereg(“Opera” , $_SERVER[“HTTP_USER_AGENT”])){
header(“Content-disposition: inline; filename=”.
mb_convert_encoding( $file->file[‘filename’],”SJIS”,”EUC-JP”));
} elseif(ereg(“MSIE” , $_SERVER[“HTTP_USER_AGENT”])){
header(“Content-Disposition: attachment; filename=” .
mb_convert_encoding($file->file[‘filename’],”SJIS”,”EUC-JP”));
} else {
header(“Content-disposition: inline; filename*=ISO-2022-JP”” .
urlencode(mb_convert_encoding($file->file[‘filename’],”ISO-2022-JP”,”EUC-JP”)));
}
header(“Content-Length: “.$file->file[‘cont_length’]); //デコード済みのデータ本体
header(“Content-Transfer-Encoding: binary”);
print($file->fileinfo[‘filedata’]); //ファイルの中身吐き出し


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です