自己写的一个调用广告位的函数和Widget类
首先是函数:缓存,自定义广告位模板。<?php <br />
function Ad($id=0){<br>
if(intval($id)){<br>
$ad = S("ad_".$id);<br>
if(empty($ad)){<br>
$ad = '';<br>
$adinfo = M('adplace')->find($id);<br>
if(!$adinfo || $adinfo['status']==0){<br>
return '广告位已经关闭';<br>
}else{<br>
import(Think.Core.View);<br>
$view = new View;<br>
$template = APP_PATH."Tpl/Home/Ad/".($adinfo['tpl']?$adinfo['tpl']:'index').".html";<br>
if(!is_file($template)){return '模板路径错误';}<br>
$to = APP_PATH.'Runtime/Cache/'.GROUP_NAME.'/'.md5($template).'.php';<br>
$width = $adinfo['adwidth'];<br>
$height = $adinfo['adheight'];<br>
$typeid = $adinfo['typeid'];<br>
switch($adinfo['typeid']){<br>
case 1:<br>
$adlist = M('ad')->where(array('pid'=>$adinfo['id'],'status'=>1))->order('sort asc,id desc')->select();<br>
foreach($adlist as $t){<br>
$v['title'] = $t['title'];<br>
$v['thumb'] = $t['ad_file'];<br>
$v['linkurl'] = $t['ad_url'] ? $t['ad_url'] : $t['url'];<br>
$tags[] = $v;<br>
}<br>
if($tags){<br>
$view->display($template);<br>
if(!is_file($to)){return '配置错误';}<br>
ob_start();<br>
include $to;<br>
$ad = ob_get_contents();<br>
ob_clean();<br>
}<br>
break;<br>
case 2:<br>
$adlist = M('ad')->where(array('pid'=>$adinfo['id'],'status'=>1))->order('sort asc,id desc')->select();<br>
foreach($adlist as $t){<br>
$v['title'] = $t['title'];<br>
$v['thumb'] = $t['ad_file'];<br>
$v['linkurl'] = $t['ad_url'] ? $t['ad_url'] : $t['url'];<br>
$tags[] = $v;<br>
}<br>
if($tags){<br>
$view->display($template);<br>
if(!is_file($to)){return '配置错误';}<br>
ob_start();<br>
include $to;<br>
$ad = ob_get_contents();<br>
ob_clean();<br>
}<br>
break;<br>
case 3:<br>
$adlist = M('ad')->where(array('pid'=>$adinfo['id'],'status'=>1))->order('sort asc,id desc')->find();<br>
if($adlist){<br>
$view->display($template);<br>
if(!is_file($to)){return '配置错误';}<br>
ob_start();<br>
include $to;<br>
$ad = ob_get_contents();<br>
ob_clean();<br>
}<br>
break;<br>
}<br>
//生成缓存<br>
S("ad_".$id,$ad);<br>
}<br>
}<br>
return $ad;<br>
}else{<br>
return '没有广告位';<br>
}<br>
}<br>
?>
下面这个是用Widget类,好像用不了缓存,其实是不会写,脑子不会转弯了。<?php <br />
class AdWidget extends Action{<br>
public function show($id=0){<br>
if($id){<br>
$adinfo = M('adplace')->find($id);<br>
if(!$adinfo || $adinfo['status']==0){<br>
echo '';<br>
}else{<br>
$this -> assign('id' , $id);<br>
$this -> assign('width' , $adinfo['adwidth']);<br>
$this -> assign('height' , $adinfo['adheight']);<br>
$typeid = $adinfo['typeid'];<br>
$this -> assign('typeid' , $typeid);<br>
switch($adinfo['typeid']){<br>
case 1:<br>
$adlist = M('ad')->where(array('pid'=>$adinfo['id'],'status'=>1))->order('sort asc,id desc')->select();<br>
foreach($adlist as $t){<br>
$v['title'] = $t['title'];<br>
$v['thumb'] = $t['ad_file'];<br>
$v['linkurl'] = $t['ad_url'] ? $t['ad_url'] : $t['url'];<br>
$tags[] = $v;<br>
}<br>
if($tags){<br>
$this->assign('tags',$tags);<br>
$this->display("Ad:index");<br>
}<br>
break;<br>
case 2:<br>
$adlist = M('ad')->where(array('pid'=>$adinfo['id'],'status'=>1))->order('sort asc,id desc')->select();<br>
foreach($adlist as $t){<br>
$v['title'] = $t['title'];<br>
$v['thumb'] = $t['ad_file'];<br>
$v['linkurl'] = $t['ad_url'] ? $t['ad_url'] : $t['url'];<br>
$tags[] = $v;<br>
}<br>
if($tags){<br>
$this->assign('tags',$tags);<br>
$this->display("Ad:index");<br>
}<br>
break;<br>
case 3:<br>
$adlist = M('ad')->where(array('pid'=>$adinfo['id'],'status'=>1))->order('sort asc,id desc')->find();<br>
if($adlist){<br>
$this->assign('adlist',$adlist);<br>
$this->display('Ad:index');<br>
}<br>
break;<br>
}<br>
}<br>
}else{<br>
echo '';<br>
}<br>
}<br>
}<br>
?>
调用方法:{:Ad(3)}<br>
<hr>
<br>
{:R('Ad/show',array('id'=>3),'Widget')}
我个人喜欢那个Ad($id)函数,调用方便,还能缓存。不知道效率上哪个好一点。对Widget类,不是太明白,刚刚看了资料临时写的。
AD:真正免费,域名+虚机+企业邮箱=0元

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

드림위버 CS6
시각적 웹 개발 도구

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는
