功能?下載($file_url,$new_name=''){
$file_url=iconv('utf-8 ',' gb2312 ',$ file _ URL);?
//將編碼轉換為支持中英文的gb2312編碼。
如果(!isset($ file _ URL)| | trim($ file _ URL)= ' '){
回歸?'500';
}
如果(!file_exists($file_url)){?//檢查文件是否存在。
回歸?'404';
}
$ file _ name = basename($ file _ URL);
$file_type=explode(' . ',$ file _ URL);
$ file _ type = $ file _ type[count($ file _ type)-1];
$file_name=trim($new_name== ' ')?$file_name:urlencode($new_name)。'.'。$ file _ type
//輸入文件標簽。
header("內容類型:?應用程序/八位字節流”);
header("Accept-Ranges:字節”);
header("Accept-Length:"。filesize($ file _ URL));
header("內容-處置:?附件;?文件名= "。$文件名稱);
$file_type=fopen($file_url,' r ');?//打開文件
//輸出文件內容
$ file _ size = filesize($ file _ URL);//獲取文件大小
?$ buffer = 1024;?//定義1KB的緩存空間。
$ file _ count = 0;//計數器計算已經發送了多少數據。
而(!feof($file_type)?& amp& amp?($ file _ size & gt$file_count)){?
//如果文件沒有讀完,還有數據沒有發送呢?
$senddata=fread($file_type,$ buffer);
//將文件內容讀取到緩存中。
$ file _ count+= $ send data;
回聲?$ senddata
}
//echo?fread($file_type,filesize($ file _ URL));
fclose($ file _ type);
}//主要原因找到了。保存PHP源代碼的時候,要保存成UTF-8 ROM-free格式,否則每個文件的頭裏都會有。英孚?BB?這兩個字。