精華 帝國PHP系統CMS怎樣支持彈出下載tjpg等格式?
<p>功能位置:后臺->其他管理->下載模型管理->管理地址前綴</p>
相關函數:e/class/DownSysFun.php DoTypeForDownurl() , QDownLoadFile() , DownSoft()
功能解釋:
HEADER:使用header轉向,通常設為這個。
META:直接轉自,如果是FTP地址推薦選擇這個。
READ:使用PHP程序讀取,防盜鏈較強,但較占資源,服務器本地小文件可選擇。
帝國php系統彈出下載txt,xls等說明
1、看下面粘貼的帝國原函數DoTypeForDownurl() Header 與 Meta 兩種方式都使用的真實地址,在這兩種方式下瀏覽器不能讀取的文件格式,例如RAR,ZIP等將直接直接彈出一個真實地址下載,txt等瀏覽器可讀的文件格式則直接在線瀏覽;
2、默認不選擇前綴的情況下,使用是Header
3、READ 這種方式下是利用PHP讀取文件,并傳遞給瀏覽器,無論 RAR 還是TXT都會彈出下載,而不是瀏覽器直接讀取,彈出的地址也是加密的地址類似:xxx.com/enews=DownSoft&classid=39&id=11&pathid=0&pass=7b9516932a88d44b4e4610e209f6288d&p=22:::J2qCrBGqmrxK
4、READ的加密地址判斷是否有下載權限,也就是地址是否正確是由e/class/DownSysFun.php中DownSoft()函數來判斷的,經測試如果不更改后臺->系統設置->模型設置->下載驗證碼 的情況下流傳出去是可以持續被下載的(沒有用戶組,積分等判斷限制 如果要避免那么e/class/DownSysFun.php 第一行 $DownSys_CheckIp=0; 中的0改為1),帝國php系統也是通過這個方式來防盜鏈;
5、如果我不想使用下載地址前綴,而讓TXT等格式可以彈出下載,那么你可以在e/class/DownSysFun.php中搜索DoTypeForDownurl($downurl,$downurlr['downtype']);
上一行加入如下代碼:
$type2r=array(".xls",".txt",);
if(in_array(GetFiletype($downurl),$type2r))
{
$downurlr['downtype']=2;
}
修改前請先備份文件,以免發生錯誤后進行還原。