当前位置: 编程技术>php
本页文章导读:
▪PHP脚本的10个技巧(8)
PHP和XML PHP包含支持Expat 解析器的可选XML扩展。PHP中和XML相关的函数可以让你创建一个解析器来处理有效的XML文档。如果你在使用的Apache版本在1.3.7之后,那你就不需要其他附加的函数库了。.........
▪用PHP实现小型站点广告管理
图片链接广告大概是最为常用的网络广告模式,但是多条广告的动态随机显示可不是那么简单的事情。PHP的文件上传函数提供了在这块468x60像素的区域(网页广告的标准尺寸)实现能够根据.........
▪一个域名查询的程序
(主要用了两个字符串函数implode()和explode) 我制作的域名查询的源代码,主要用了两个字符串函数implode()和explode,利用这两个函数的切割字符串的强大功能,可以查询.com,.net.,org.,cc.,tv下的域.........
[1]PHP脚本的10个技巧(8)
来源: 互联网 发布时间: 2013-11-30
PHP和XML
PHP包含支持Expat 解析器的可选XML扩展。PHP中和XML相关的函数可以让你创建一个解析器来处理有效的XML文档。如果你在使用的Apache版本在1.3.7之后,那你就不需要其他附加的函数库了。而你所需要做的只是配置PHP--with-xml。
PHP手册中有好几个创建基于PHP的XML解析器优秀实例。此外,New Riders图书Web Application Development with PHP 4.0也对结合PHP的XML用法有详尽的阐述,该数的作者之一已经在Zend.com 上编写过这方面相当多的指南。
就象Java和COM支持一样,PHP对XML的支持还处于其幼年期,但目前这一领域成长很快。如果你早具有了Expat或LibXML方面的经验,你可以跳过以上的内容直接利用你的专门知识。
PHP包含支持Expat 解析器的可选XML扩展。PHP中和XML相关的函数可以让你创建一个解析器来处理有效的XML文档。如果你在使用的Apache版本在1.3.7之后,那你就不需要其他附加的函数库了。而你所需要做的只是配置PHP--with-xml。
PHP手册中有好几个创建基于PHP的XML解析器优秀实例。此外,New Riders图书Web Application Development with PHP 4.0也对结合PHP的XML用法有详尽的阐述,该数的作者之一已经在Zend.com 上编写过这方面相当多的指南。
就象Java和COM支持一样,PHP对XML的支持还处于其幼年期,但目前这一领域成长很快。如果你早具有了Expat或LibXML方面的经验,你可以跳过以上的内容直接利用你的专门知识。
[2]用PHP实现小型站点广告管理
来源: 互联网 发布时间: 2013-11-30
图片链接广告大概是最为常用的网络广告模式,但是多条广告的动态随机显示可不是那么简单的事情。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——增添新的广告 #
增添新广告
//表单用来输入新增广告信息,并交给下面的PHP程序处理;
//其中,加权值priority数字愈大,载入页面图片出现的机率就愈高,默认为1。
广告 Banner:
广告网址URL:
图片链接说明ALT:
显示加权:
//处理表单数据的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 "
";
echo "广告网址: url
广告链接说明: alt
显示加权: priority ";
}
}
?>
3.建立显示广告程序:ShowAd.php3
设计思路:得到数据库表中所有各列信息分别存到相应的一维数组中,将所有广告的权值相加得到一个最大随机数,每次载入页面用srand() 产生一个随机树种子,再用rand()函数产生一个从1到最大随机数之间的一个随机数,然后按照一定的规则随机显示不同广告条,权值越大被显示的机会越大。
# ShowAd.php3——随机显示广告 #
//连接选择数据库;
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[]="";
}
}
//显示广告,权值越大,显示机会越大;
echo ad[0];
?>
本例在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——增添新的广告 #
增添新广告
//表单用来输入新增广告信息,并交给下面的PHP程序处理;
//其中,加权值priority数字愈大,载入页面图片出现的机率就愈高,默认为1。
广告 Banner:
广告网址URL:
图片链接说明ALT:
显示加权:
//处理表单数据的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 "
";
echo "广告网址: url
广告链接说明: alt
显示加权: priority ";
}
}
?>
3.建立显示广告程序:ShowAd.php3
设计思路:得到数据库表中所有各列信息分别存到相应的一维数组中,将所有广告的权值相加得到一个最大随机数,每次载入页面用srand() 产生一个随机树种子,再用rand()函数产生一个从1到最大随机数之间的一个随机数,然后按照一定的规则随机显示不同广告条,权值越大被显示的机会越大。
# ShowAd.php3——随机显示广告 #
//连接选择数据库;
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[]="";
}
}
//显示广告,权值越大,显示机会越大;
echo ad[0];
?>
[3]一个域名查询的程序
来源: 互联网 发布时间: 2013-11-30
(主要用了两个字符串函数implode()和explode)
我制作的域名查询的源代码,主要用了两个字符串函数implode()和explode,利用这两个函数的切割字符串的强大功能,可以查询.com,.net.,org.,cc.,tv下的域名whois。
<?php
echo '<center><form>';
echo '<input type="text" name="string">';
echo '<input type="submit" value="查询">';
echo "</form>";
if (isset($string))
{
$url = "http://networksolutions.com/cgi-bin/whois/whois?STRING=".$string."&STRING=Search";
$str = implode("",file($url));
$aa= explode("<pr",$str);
$bb=$aa[1];
$cc=explode("re>",$bb);
$dd= $cc[0];
$ee=explode("e>",$dd);
$ff=implode("<pre>",$ee);
$hh=explode("</p",$ff);
$jj=implode("</pre>",$hh);
$kk=explode("Registrant",$jj);
$ll=implode("<font color=red>注册人</font>",$kk);
$mm=explode("Domain Name",$ll);
$nn=implode("<font color=red>域名</font>",$mm);
$oo=explode("Administrative Contact",$nn);
$pp=implode("<font color=red>管理联系人</font>",$oo);
$qq=explode("Technical Contact",$pp);
$ii=implode("<font color=red>技术联系人</font>",$qq);
$ss=explode("Record last updated on",$ii);
$tt=implode("<font color=red>最后更新日期:</font>",$ss);
$uu=explode("Record expires on",$tt);
$vv=implode("<font color=red>域名到期日期:</font>",$uu);
$ww=explode("Record created on",$vv);
$xx=implode("<font color=red>域名注册日期:</font>",$ww);
$yy=explode("Database last updated on",$xx);
$zz=implode("<font color=red>数据库更新日期:</font>",$yy);
$aaa=explode("Record updated on",$zz);
$bbb=implode("<font color=red>记录更新日期:</font>",$aaa);
$ccc=explode("Admin Name",$bbb);
$ddd=implode("<font color=red>管理联系人</font>",$ccc);
$eee=explode("Tech Name",$ddd);
$whois=implode("<font color=red>技术联系人</font>",$eee);
}
echo '<center><table width="50%" border="0" cellspacing="1" cellpadding="0" bgcolor="#FF6666">';
echo '<tr bgcolor="#ffcc33">';
echo "<td>";
echo '<div align="center">域名whois查询系统</div>';
echo "</td>";
echo "</tr>";
echo '<tr bgcolor="#FFFFFF">';
echo "<td>";
echo '<div align="left">';
echo "<br>";
echo $whois;
echo "</div>";
echo "</td>";
echo "</tr>";
echo '<tr bgcolor="#ffcc33">';
echo "<td>";
echo '<div align="center"><a href="http://www.phpcode.net"><font face="Verdana, Arial, Helvetica, sans-serif">PHPcode.net</font></a></div>';
echo "</td>";
echo "</tr>";
echo "</table>";
?>
我制作的域名查询的源代码,主要用了两个字符串函数implode()和explode,利用这两个函数的切割字符串的强大功能,可以查询.com,.net.,org.,cc.,tv下的域名whois。
<?php
echo '<center><form>';
echo '<input type="text" name="string">';
echo '<input type="submit" value="查询">';
echo "</form>";
if (isset($string))
{
$url = "http://networksolutions.com/cgi-bin/whois/whois?STRING=".$string."&STRING=Search";
$str = implode("",file($url));
$aa= explode("<pr",$str);
$bb=$aa[1];
$cc=explode("re>",$bb);
$dd= $cc[0];
$ee=explode("e>",$dd);
$ff=implode("<pre>",$ee);
$hh=explode("</p",$ff);
$jj=implode("</pre>",$hh);
$kk=explode("Registrant",$jj);
$ll=implode("<font color=red>注册人</font>",$kk);
$mm=explode("Domain Name",$ll);
$nn=implode("<font color=red>域名</font>",$mm);
$oo=explode("Administrative Contact",$nn);
$pp=implode("<font color=red>管理联系人</font>",$oo);
$qq=explode("Technical Contact",$pp);
$ii=implode("<font color=red>技术联系人</font>",$qq);
$ss=explode("Record last updated on",$ii);
$tt=implode("<font color=red>最后更新日期:</font>",$ss);
$uu=explode("Record expires on",$tt);
$vv=implode("<font color=red>域名到期日期:</font>",$uu);
$ww=explode("Record created on",$vv);
$xx=implode("<font color=red>域名注册日期:</font>",$ww);
$yy=explode("Database last updated on",$xx);
$zz=implode("<font color=red>数据库更新日期:</font>",$yy);
$aaa=explode("Record updated on",$zz);
$bbb=implode("<font color=red>记录更新日期:</font>",$aaa);
$ccc=explode("Admin Name",$bbb);
$ddd=implode("<font color=red>管理联系人</font>",$ccc);
$eee=explode("Tech Name",$ddd);
$whois=implode("<font color=red>技术联系人</font>",$eee);
}
echo '<center><table width="50%" border="0" cellspacing="1" cellpadding="0" bgcolor="#FF6666">';
echo '<tr bgcolor="#ffcc33">';
echo "<td>";
echo '<div align="center">域名whois查询系统</div>';
echo "</td>";
echo "</tr>";
echo '<tr bgcolor="#FFFFFF">';
echo "<td>";
echo '<div align="left">';
echo "<br>";
echo $whois;
echo "</div>";
echo "</td>";
echo "</tr>";
echo '<tr bgcolor="#ffcc33">';
echo "<td>";
echo '<div align="center"><a href="http://www.phpcode.net"><font face="Verdana, Arial, Helvetica, sans-serif">PHPcode.net</font></a></div>';
echo "</td>";
echo "</tr>";
echo "</table>";
?>
最新技术文章: