重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
一、帝國cms生成縮略圖所用到的方法或函數是sys_ResizeImg(),依賴于php主機環境是否安裝并支持gd庫,通常都是支持的。
成都創新互聯成立與2013年,先為連江等服務建站,連江等地企業,進行企業商務咨詢服務。為連江企業網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。
img src="?=sys_ResizeImg($bqr[titlepic],375,287,1)?" alt="?=$bqr['title']?"/
——代碼摘自學而行營銷網首頁模板,效果如下。
用sys_ResizeImg()方法生成縮略圖后,可以查看圖片的路徑,你發現圖片路徑并不在后臺上傳默認的d/file目錄下,而是放在/e/data/tmp/目錄中,由此可檢驗是否已經生效;另外方法中的第一個數字(本例中是375)表示縮略圖的寬度,第2個數字(本例中是287)則是縮略圖的高度,參數1則表示帝國默認的裁剪縮放生成縮略圖的方式。
關于sys_ResizeImg()的最后參數說明。見如下:
帝國CMS縮略圖函數改進(GD庫改進)
本文關鍵字詞:縮略圖,縮略圖函數,帝國CMS,帝國CMS,帝國CMS縮略圖去黑邊框
第一種方式 帝國默認:
sys_ResizeImg($r[titlepic],寬,高,0);//帝國默認的不裁剪縮放生成縮略圖的方式
第二種方式 帝國默認:
sys_ResizeImg($r[titlepic],寬,高,1);//帝國默認的裁剪縮放生成縮略圖的方式
第三種方式 去掉裁剪不夠時的黑邊并且從圖片縮放后中間裁剪:
sys_ResizeImg($r[titlepic],寬,高,2);//新加去黑邊裁剪生成縮略圖的方式
第四種方式 只固定圖片的寬,高度不限制(類似不規則瀑布流的圖片形式),高填寫為大于0的任意整數數字:
sys_ResizeImg($r[titlepic],寬,高,3);//新加去黑邊生成類似瀑布流格式的方式
二、但是你看到的上圖示例效果是經過改進后的,而默認sys_ResizeImg()生成的縮略圖則是壓縮比太高,圖片質量很低,看上去很模糊失真,簡直可用慘不忍睹來形容。如下。
(如果一個人審美正常的話,那么上圖這個美女臉上的像素點如此明顯,如此糙,或許你看了不會嘔吐,但相信你會把自己的眼光移到別處的。)
要修改sys_ResizeImg()生成縮略圖的質量倒是很容易。只需要打開e/class/gd.php文件。找到如下這行。
$func_output($temp_image, $new_name.$func_exname,9);
將最后一個數字修改為:
$func_output($temp_image, $new_name.$func_exname,85);
其中85就代表生成的縮略圖壓縮比,數字越高,壓縮率越低,圖片質量自然就越高,但要注意的是,圖片質量高文件就會增大,如果圖片過多、尺寸過大就會影響頁面加載速度(通常),而我們使用縮略圖的一個重要目的就是要減少圖片尺寸以提高頁面打開速度,因此這個數字華哥建議設置在65-90之間為好。
然后上傳覆蓋。再重新生成頁面,查看是否有所變化。
講真,這個修改方法以前華哥曾經實踐過至少兩次,但都沒有成功。這次實踐居然輕松就成功了,簡直可說是如有神助!
不過也找不到以前失敗的原因,或許是換了網站主機空間的緣故吧。可以判斷的是,如果不成功看不到變化,那和這個修改方法無關,修改方法是正確的,這次得到測試和應用,沒有任何變化或許要去檢測主機系統或服務器的php環境配置。
一、esub()截取字段函數語法:esub(字符串,截取字數,后綴)
說明:后綴為截取字符后附帶內容,此參數可以省略。
使用范例:
,返回結果為:123456
,返回結果為:123456...
二、date()轉換時間格式函數
語法:date(時間格式,時間戳)
說明:PHP本身函數,使用說明可以參考:
使用范例:
,返回結果為:2010-06-30 10:30:10
三、format_datetime()轉換時間格式函數2
語法:format_datetime(正常時間,時間格式)
說明:和date()的區別是format_datetime是轉換正常時間,而date是轉換unix時間戳。
使用范例:
,返回結果為:06/30
四、通過ID取得欄目地址函數
語法:sys_ReturnBqClassname($r,9)
說明:$r為含欄目ID的數組,變量名可任意命名。
使用范例:取得欄目ID=2的欄目地址。
$cr['classid']=2;
$classurl=sys_ReturnBqClassname($cr,9);
echo $classurl;
?
通過ID取得欄目地址的其他方法:
(1)、/e/public/ClassUrl/?classid=欄目ID
(2)、/
五、取得信息內容頁地址函數
語法:sys_ReturnBqTitleLink($r)
說明:$r為含“id,classid,newspath,filename,groupid,titleurl”字段內容的數組,變量名可任意命名。
使用范例:取得信息ID=8的新聞頁面地址
$nr=$empire-fetch1("select
id,classid,newspath,filename,groupid,titleurl from {$dbtbpre}ecms_news where
id='8' limit 1");
$titleurl=sys_ReturnBqTitleLink($nr);
echo $titleurl;
?
通過ID取得信息內容頁地址的其他方法:
/e/public/InfoUrl/?classid=欄目IDid=信息ID
六、提示信息函數1
語法:printerror($error,$gotourl,$ecms,$noautourl,$novar)
說明:
$error:提示信息內容,可以為語言包變量,也可以直接提示內容。
$gotourl:提示信息轉向鏈接地址
$ecms:0為后臺提示信息、1為前臺提示信息、8為后臺提示信息(alert方式)、9為前臺提示信息(alert方式)
$noautourl:0為自動轉向頁面,1為不自動轉向頁面。此參數可省略,默認為0
$novar:0為提示信息內容采用語言包變量,1為提示信息內容為直接提示內容。此參數可以省略,默認為0
首先global $public_r;首先定義一個全局變量$public_r,這個變量是一個數組,里面存了一些系統設置,如網站域名等,在這里$public_r['canposturl']是系統設置里面的“前臺允許提交的來源地址”,每一列是一個地址,比如
讓我們一行一行分析:
if($public_r['canposturl']){ //如果設置了前臺允許提交的來源地址
$r=explode("\r\n",$public_r['canposturl']); //按照換行\r\n切分為一個數組$r,結果應該是
$r = array('', '');
$count=count($r);//使用數組的count方法統計有多少條地址
$b = 0; //這個變量是當作一個標志,用來判斷
for($i=0;$i$count;$i++) //
$_SERVER['HTTP_REFERER'] //這個得到的是頁面的來源地址,比如我從點擊一個鏈接到,那么使用$_SERVER['HTTP_REFERER'] 得到的就是
for($i=0;$i$count;$i++)
if(strstr($_SERVER['HTTP_REFERER'],$r[$i]))
這個將頁面的來源地址循環和“前臺允許提交的來源地址”數組$r里面的每一條對比,如果存在就跳出循環并設置$b=1,如果不存在就繼續循環,循環結束看$b的值,只有在存在的情況下才會得到$b=1,否則$b=0,當$b=0的時候,使用錯誤跳轉函數printerror,'NotCanPostUrl'是一個錯誤常量,在e\data\language\gb\pub\q_message.php中,表示'請從網站提交數據'。
這個函數就是用來判斷前臺提交的表單是不是從指定的網站發來的,防止有人修改表單惡意注冊等等之類的。
e/class/connect.php funciton page1()
帝國CMS前后臺動態分頁函數。用于動態頁面顯示分頁,比如前臺動態列表,會員中心收藏夾列表等。
e/class/t_functions.php function sys_ShowListPage()
這個文件內分頁函數比較多,包括內容頁分頁,列表下拉分頁,列表列出是分頁等。
需要域名的話 可以搜索 西魁網絡 cn域名15元 網站空間35元