php实现文件下载的一段代码

来源:互联网 发布:哈尔滨乐松有mac专柜么 编辑:程序博客网 时间:2024/05/21 09:04
    $file_dir=$totalDirectory;
     $file_name=$filename;
     //echo './db/'.$file_dir.$file_name;
    if (file_exists($file_dir.$file_name)){
          $file=fopen($file_dir.$file_name,'r');
         Header('Content-type:application/octet-stream');
         Header('Accept-Ranges:bytes');
         Header('Content-Disposition:attachment;filename='.$file_name);
         echo fread($file,filesize($file_dir.$file_name));
         fclose($file);
         exit;
         
     }else{
         echo 'file is not exists';

     }


yii  框架下批量下载文件

bool ZipArchive::addFile ( string $filename [, string $localname = NULL [, int $start = 0 [, int $length = 0 ]]] )

$zip = new ZipArchive();$filename="attach_".uniqid().".zip";$filepath="workflow_attachs/".$filename;if ($zip->open($filepath, ZIPARCHIVE::CREATE)!==TRUE) {exit('无法打开文件,或者文件创建失败');}$attachs = WorkflowAttach::model()->findAll("wid={$wid}");foreach($attachs as $item){$datalist[]=$item['filepath'];}foreach( $datalist as $key=>$val){if(file_exists($val)){
                    $val = @iconv("UTF-8","GBK",$val); $key = @iconv("UTF-8","GBK",$key); //对于不同的系统进行转码,否则中文乱码 $zip->addFile($val,'显示的名称'); }}$zip->close();//关闭if( !file_exists($filepath)){  exit("无法找到文件"); //即使创建,仍有可能失败。。。。}

$file = fopen($filepath,"read");
$content = fread($file,filesize($filepath));
fclose($file);
CHttpRequest::sendFile($filename,$content);