php 实现下载文件

class DownLoadFile
{
	public static function DownLoadFile1($filename)
	{
		$file_name=iconv("utf-8", "gb2312", $filename);
		if (!file_exists($filename)){
			echo "文件不存在!";
			return;
		}
		$handle=fopen($filename, "r");
		$filesize=filesize($filename);
		header("Contect-type: application/octet-stream");
		header("Accept-Ranges: bytes");
		header("Accept-Length: $filesize");
		header("Content-Disposition: attachment; filename=$filename");
		
		$length = 1024;
		$filecount=0;
		while (!feof($handle) && ($filesize-$filecount)>0){
			$filedata=fread($handle, $length);
			$filecount+=$length;
			echo $filedata;
		}
		fclose($handle);
	}
	
	public static function DownLoadFile2($file)
	{
		if ( file_exists ( $file )) {
		     header ( 'Content-Description: File Transfer' );
		     header ( 'Content-Type: application/octet-stream' );
		     header ( 'Content-Disposition: attachment; filename=' . basename ( $file ));
		     header ( 'Content-Transfer-Encoding: binary' );
		     header ( 'Expires: 0' );
		     header ( 'Cache-Control: must-revalidate' );
		     header ( 'Pragma: public' );
		     header ( 'Content-Length: '  .  filesize ( $file ));
		     ob_clean ();
		     flush ();
		     readfile ( $file );
		    exit;
		}
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值