/** 関数: ファイルのダウンロード*//*** 使用法: $download = new Download();* //パラメータを設定します* $download->set_file_dir("c:/");* $download->set_file_name("boot.ini") ; * $download->set_read_bytes(1024);* //ファイルのダウンロード処理操作* $download->deal_with(); * //ファイルが存在するかどうかを判定します* if($download->is_file_exist ()){*echo "file_exist";*}else{*echo "file_not_exist";*} */class Download {private $file = null;//ファイルハンドルprivate $file_dir = "";//ファイルが存在するディレクトリprivate $file_name = "";//ファイル名private $file_exist = false;//ファイルが存在するかどうかを示します。デフォルトはprivateではありません$read_bytes = 0;//ファイルから読み取ったバイト数private $mode = "r";//ファイルのアクセスタイプ public function __construct(){ } p> < ;p>public function __destruct(){ if(null != $this->file){ fclose($this->file); } } < p>/* * * ファイルのダウンロード処理操作 */ bbs.it-home.org public function deal_with(){ //完全なファイルパス $file_path = $this->file_dir .< /p> //ファイルが存在するか確認します if (file_exists($file_path)) { $this->file_exist = true; //ファイルを開きます $this-> file = fopen($file_path, $this->mode); // 入力ファイルタグ Header("Content-type: application/octet-stream") ); Header(" Accept-Range: バイト"); Header("Accept-Length: " . filesize($file_path)); Header("Content-Disposition:attachment; filename=" . $this-> file_name); p> //ファイルの内容を出力します while(!feof($this->file)) { $out = fread($this->file, $this- >read_bytes); if(!get_magic_quotes_gpc()) { echo $out; } else { echotripslashes($out); } } //echo fread($file, filesize($ file_dir . $file_name)) ; } } /** * 戻り値は true または false で、その値はファイルが存在するかどうかを判断するために使用されます */ public function is_file_exist(){ return $this->file_exist; } p> * パラメータの型は文字列です*/public function set_file_dir($file_dir=""){$this->file_dir = $file_dir; } /** * パラメータの型は文字列です */ public function set_file_name($file_name=""){ $this->file_name = $file_name; } /** * パラメータの型は整数です * / public function set_read_bytes( $read_bytes=1024){ $this->read_bytes = $read_bytes; } } ?> コードをコピー