用PHP实现小型站点广告管理

广告|站点

图片链接广告大概是最为常用的网络广告模式,但是多条广告的动态随机显示可不是那么简单的事情。PHP的文件上传函数提供了在这块468x60像素的区域(网页广告的标准尺寸)实现能够根据权值大小而随机显示广告的解决方案,从而避免了开发FTP程序或是ASP和Perl CAI中需要外挂扩展才能实现此项功能的弊端。

  本例在PHP4+MySQL+Apache for Win9x/2000下调试通过,共包括两部分:用来增加新广告的程序AddNewAd.php3以及显示广告的程序ShowAd.php3,都存放在服务器PHP文件目录下的“test/guanggao/”目录中。在guanggao目录中建立一个存放广告链接图片的子目录“adbanner/”。下面我们按步骤进行分析。

1.首先,建立MySQL数据库:guanggao

  在Windows环境下,建立一个MySQL空数据库很简单,因为每个数据库都是存在于mysql/data/目录下的一个子目录,所以只要在该目录下新建子目录guanggao就可以了,这时数据库内还没有任何表和数据。

2.建立新增广告程序:AddNewAd.php3

  设计思路:其中先用表单得到用户的新广告信息;然后用PHP函数copy()将链接图片(banner)文件上传到服务器adbanner目录下;最后将图片文件名、广告网址、说明、加权信息等写入建立的MySQL数据表ad中。该程序代码如下:

  # AddNewAd.php3——增添新的广告 #
<center><h1>增添新广告</h1></center>
//表单用来输入新增广告信息,并交给下面的PHP程序处理;
//其中,加权值priority数字愈大,载入页面图片出现的机率就愈高,默认为1。
<FORM ENCTYPE="multipart/form-data" ACTION="AddNewAd.php3" METHOD=POST>
广告 Banner: <input name=banner TYPE="file"><br>
广告网址URL: <input name=url type=text size=30><br>
图片链接说明ALT: <input name=alt type=text size=30><br>
显示加权: <input name=priority type=text size=5 value=1><br>
<input type="submit" VALUE="提交">
</FORM>
//处理表单数据的PHP程序;
<?php
//图片banner名和链接地址不能为空;
if (( banner!="") & ( url!="")) {
//若广告链接和图片名已被使用,必须另选;
if (file_exists("adbanner/". banner_name)) {
echo "广告图片. banner_name.已被使用,请另选!";
exit;
};
//上传链接图片文件名到adbanner目录;
copy( banner,"adbanner/". banner_name);
//连接MySQL数据库;
connection = mysql_connect();
//选择数据源guanggao,执行查询;;
mysql_select_db("guanggao", );
query="SELECT * FROM ad";
result=mysql_query( query);
//如果数据表ad不存在,则按以下结构创建新数据表ad;
if(!result){
mysql_query("
create table ad(
url varchar(100) not null,
banner varchar(150) not null,
alt varchar(100) null,
priority tinyint(4) default 1 not null
)") or die(mysql_error());
}
//向数据表ad中插入来自于表单的新数据;
query="insert into ad(url, banner, alt, priority) values( url, banner_name,
alt, priority)";
//插入成功则显示以下信息;
try=mysql_query( query);
if( try){
echo "一条广告新增完成,详细信息:
";
echo "<a href=" url"><img src="adbanner/ banner_name" alt=". alt." border=0></a><br>";
echo "广告网址: url<br>广告链接说明: alt<br>显示加权: priority ";
}
}
?>

3.建立显示广告程序:ShowAd.php3

  设计思路:得到数据库表中所有各列信息分别存到相应的一维数组中,将所有广告的权值相加得到一个最大随机数,每次载入页面用srand() 产生一个随机树种子,再用rand()函数产生一个从1到最大随机数之间的一个随机数,然后按照一定的规则随机显示不同广告条,权值越大被显示的机会越大。

# ShowAd.php3——随机显示广告 #
<?php
//连接选择数据库;
connection = mysql_connect();
mysql_select_db("guanggao", connection);
//执行查询得到广告条数;
query="SELECT url, banner, alt, priority FROM ad where priority > 0";
result=mysql_db_query("guanggao", query);
numrows=mysql_num_rows( result);
//使用mysql_fetch_object()函数获取有用的列信息并存到相应数组中;
while( row = mysql_fetch_object( result)) {
adurl[]= row->url;
adbanner[]= row->banner;
adalt[]= row->alt;
adpriority[]= row->priority;
}
//初始化中间变量;
numcheck= numrows;
i= pricount=0;
//得到最大随机数;
while( numcheck) {
pricount+= adpriority[ i];
i++; numcheck--;
}
//程序执行时的百万分之一秒产生随机数种子;
srand((double)microtime()*1000000);
//得到1到最大随机数之间的一个随机数;
pri = rand(1, pricount);
//中间变量清零;
pricount=0;
//按加权值不同,产生用来显示广告的、元素为字串的数组;
for( i=0; i< numrows-1; i++) {
pricount += adpriority[ i];
if ( pri <= pricount) {
ad[]="<a href=" adurl[ i]" target=new></a>";
}
}
//显示广告,权值越大,显示机会越大;
echo ad[0];
?>

时间: 2024-10-01 23:08:03

用PHP实现小型站点广告管理的相关文章

用PHP+MySQL 实现小型站点广告管理

mysql|广告|站点 图片链接广告大概是最为常用的网络广告模式,但是多条广告的动态随机显示可不是那么简单的事情.PHP的文件上传函数提供了在这块468x60像素的区域(网页广告的标准尺寸)实现能够根据权值大小而随机显示广告的解决方案,从而避免了开发FTP程序或是ASP和Perl CAI中需要外挂扩展才能实现此项功能的弊端. 本例在PHP4+MySQL+Apache for Win9x/2000下调试通过,共包括两部分:用来增加新广告的程序AddNewAd.php3以及显示广告的程序ShowAd

用PHP实现小型站点广告管理(修正版)

今天做照着例子做,发现其中有很多错误的地方,为了让广大菜鸟兄弟更好的理解,我把修改后的文件给大家看看. 数据结构如下: CREATE TABLE ad ( url varchar(100) NOT NULL, banner varchar(150) NOT NULL, alt varchar(100), priority int(4) DEFAULT '1' NOT NULL, )   增加广告的文件 ***************putad.php******************** <?

用PHP实现小型站点广告管理(修正版)_php基础

今天做照着例子做,发现其中有很多错误的地方,为了让广大菜鸟兄弟更好的理解,我把修改后的文件给大家看看. 数据结构如下: CREATE TABLE ad ( url varchar(100) NOT NULL, banner varchar(150) NOT NULL, alt varchar(100), priority int(4) DEFAULT '1' NOT NULL, )   增加广告的文件 ***************putad.php******************** <?

用PHP实现小型站点广告管理_php基础

图片链接广告大概是最为常用的网络广告模式,但是多条广告的动态随机显示可不是那么简单的事情.PHP的文件上传函数提供了在这块468x60像素的区域(网页广告的标准尺寸)实现能够根据权值大小而随机显示广告的解决方案,从而避免了开发FTP程序或是ASP和Perl CAI中需要外挂扩展才能实现此项功能的弊端. 本例在PHP4+MySQL+Apache for Win9x/2000下调试通过,共包括两部分:用来增加新广告的程序AddNewAd.php3以及显示广告的程序ShowAd.php3,都存放在服务

解读大型站点和小型站点的seo区别

解读大型站点和小型站点的seo区别 为什么企业站的SEO优化策略,到了大型网站身上就用不上了呢?请看seo优化资讯,最重要的一点就是整体流量来路构成发生了很大的变化. 企业站,一般都是靠首页seo来量,也就是说靠首页Title布局的一些关键词的排名来的流量.所以,我们做SEO优化工作,就是把自己能获取到的资源,都放在首页放在这几个关键词上即可,通常也就是外链,内链,整站内容相关性,内容时效性等等一些比较基础的工作,或者其他比较偏门的手法.我们只需要给它单独的去做优化工作,基本不用担心这个首页这个

小型Drupal数据库备份以及大型站点MySQL备份策略分享_Mysql

中小站点简单备份策略 基于drupal的中小行网站,我们可以使用backup_migrate模块,该模块提供了定期备份的功能,备份的时间.保留多少个备份等等设置,设置好之后,定期执行cron即可备份成功. 一般的Drupal小站,我们只需使用svn即可,在服务器端,我们把备份好的数据提交到svn,就可以达到备份的目的.由于Drupal的备份模块可以设置备份保留的文件份数,因此不会造成太多的备份文件,从而导致svn很大. 下面是一个简单的备份脚本,放置到站点根目录,然后加到crontab每天执行即

如何将小米的“饥饿营销”策略应用到站点推广

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 何为"饥饿营销"?首先我们来看看百度百科对于饥饿营销的概述:所谓"饥饿营销",是指商品提供者有意调低产量,以期达到调控供求关系.制造供不应求"假象".维持商品较高售价和利润率,也达到维护品牌形象.提高产品附加值的目的.该营销策略让名不见经传的小米手机一夜之间成为众多手机爱好者的宠儿.

如何借东风推广站点分享几点分析

摘要: 生活中很多现象告诉我们有时埋头苦干还不如巧借东风来的有效率.在实际生活中我们也不难见到很多小企业会借由一些成名企业的光环来提升自己的品牌效应.就比如晋江出了一个富 生活中很多现象告诉我们有时埋头苦干还不如巧借东风来的有效率.在实际生活中我们也不难见到很多小企业会借由一些成名企业的光环来提升自己的品牌效应.就比如晋江出了一个富贵鸟的品牌后,紧接而来的是贵人鸟.报喜鸟等等与在名称上有一定关系的品牌,这就是后来者如何借由前辈的东风提升自身品牌的最佳案例. 在我们的站点推广中,很多小企业的站点也

小站点的“野心” 绕开Google来做直销

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断淘宝客 站长团购 云主机 技术大厅 7月30日消息 据clickz网站报道,小站点及博客网络的创收方式,一直以来都是借助Google  AdSense之类的会员网来运行低价值广告.但是,一些有事业心的发布商,正试图避开那些处处皆是的文本广告与旗帜广告.他们希望通过自己的销售力量面向品牌广告主或代理公司直接销售. 美国教育主题网络"Hot Chalk"