花魁直播高品质美女在线视频互动社区 - 花魁直播官方版

 歡迎來到素材無憂網(wǎng),按 + 收藏我們
登錄 注冊(cè) 退出 找回密碼

對(duì)帝國CMS生成縮略圖函數(shù)sys_ResizeImg效率慢的研究和改進(jìn)

時(shí)間: 2024-02-25 09:23 閱讀: 作者:素材無憂網(wǎng)

小伙伴們?cè)俚蹏鳦MS模板開發(fā)中會(huì)面對(duì)不同位置調(diào)用不同尺寸縮略圖的問題,這個(gè)時(shí)候我們一般會(huì)用帝國CMS的sys_ResizeImg自動(dòng)生成縮略圖函數(shù)。但是如果站內(nèi)存在大量需要處理的縮略圖的時(shí)候,我們會(huì)發(fā)現(xiàn)是非常慢的,于是素材無憂對(duì)此縮略圖進(jìn)行了一些分析研究和改進(jìn)。

首先要改進(jìn)的是判斷縮略圖是否已經(jīng)存在,如果存在就不再執(zhí)行生成縮略圖操作。具體函數(shù)過程文件/e/class/t_functions.php 函數(shù)命名sys_ResizeImg

原始判斷縮略圖是否生成過存在的方法為PHP的file_exists函數(shù),此函數(shù)相比專門的文件判斷存在is_file函數(shù)在效率上要慢很多。

查找:

if(empty($target_filename)&&file_exists($newname.$filetype))

替換成:

if(empty($target_filename)&&is_file($newname.$filetype))

其次是有的小伙伴GD.PHP函數(shù)庫換過非官方的處理方法,可能面臨著PNG圖片縮略圖生成后為JPG格式,那么上面的那句代碼就無法判斷這個(gè)縮略圖已經(jīng)生成存在了,所以每次更新頁面都會(huì)重復(fù)生成,效率會(huì)非常低。那么我們就要把上面那種改法就不適用了,我們這里采用多次判斷方法來判斷是否真的存在,進(jìn)而減少PNG重復(fù)生成縮略圖的問題。

查找:

if(empty($target_filename)&&file_exists($newname.$filetype))
	{
		return $newurl.$newfilename.$filetype;
	}

替換成:

if(empty($target_filename)&&is_file($newname.'.jpg'))
	{
		return $newurl.$newfilename.'.jpg';
	}
	if(empty($target_filename)&&is_file($newname.'.png'))
	{
		return $newurl.$newfilename.'.png';
	}
	if(empty($target_filename)&&is_file($newname.'.gif'))
	{
		return $newurl.$newfilename.'.gif';
	}

至此,sys_ResizeImg自動(dòng)生成縮略圖函數(shù)效率慢的問題能解決80%吧!

版權(quán)聲明: 本站資源均來自互聯(lián)網(wǎng)或會(huì)員發(fā)布,如果侵犯了您的權(quán)益請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除!謝謝!

轉(zhuǎn)載請(qǐng)注明: 對(duì)帝國CMS生成縮略圖函數(shù)sys_ResizeImg效率慢的研究和改進(jìn)

相關(guān)文章
模板推薦