当前位置: 编程技术>php
本页文章导读:
▪玩转虚拟域名◎+ .
玩转虚拟域名◎+ . 不知道大家最近上网是否发现一个新现象,就是有一些网站开始提供“username@server”的虚拟域名服务。由于“@”的魅力,大家纷纷申请,你或许会想:“如果我也能提.........
▪桌面中心(四)数据显示
来源:奥索网 桌面中心(四)数据显示作者:elong 最后一步就是显示了。 下面这个程序要通过参数来调用。 比如php.php?jpg=jpg 后面的jpg是表格名。记住一定要的呀,不然就不能运行了,会显示程.........
▪桌面中心(一)创建数据库
来源:奥索网 桌面中心(一)创建数据库作者:elong这是小弟第一次写文章。不知道能不能发布呀。。我把程序写出来是想要大家参考一下。如果有哪位高手能改出更好的程序, 请别忘了和我.........
[1]玩转虚拟域名◎+ .
来源: 互联网 发布时间: 2013-11-30
玩转虚拟域名◎+ .
不知道大家最近上网是否发现一个新现象,就是有一些网站开始提供“username@server”的虚拟域名服务。由于“@”的魅力,大家纷纷申请,你或许会想:“如果我也能提供这种服务,该多好阿:)人气肯定不错!”本文将给大家揭开“@”的“神秘”面纱,让大家都可以来“@”!(Do u @ today?)
别急,这个并不是电子邮件的地址,是一种虚拟域名,不相信的话可以在浏览器中访问“bbs@zphp.com”。部分朋友应该使用过IE的FTP功能,就是在浏览器的地址栏中键入“password:username@server”IE就会自动登陆FTP服务器;而在Http1.1协议中,就规定了Http访问授权功能,形式同样为“password:username@server”,其中“password:”可以省略,也是是访问“bbs@zphp.com”实际上是以bbs的身份访问“zphp.com”这个服务器。
那么我们只是需要将具体的URI传送给PHP程序,在数据库中搜索出真实的URL重定向就可以了。
首先我们需要制作一个传送URI的页面(作为服务器的默认文档,一般命名为index.htm);在JS的Window对象中就可以实现这项功能,下面是index.htm的源代码:
<script>
this.location = ‘gotourl.php?url=' + this.location.href;
</script>
上面的代码会将浏览器重定向到gotourl.php,并且通过QueryString给变量$url赋值为当前的URI。
成功将URI传递给PHP程序后,就可以进入数据库查找真实URL,下面是SQL数据库相对应的table 的结构:
CREATE TABLE domain(
Id int(3) UNSIGNED DEFAULT ‘0' NOT NULL, # 域名ID
Domain char(20) NOT NULL, # 域名
Gotourl char(255) NOT NULL, # 真实的URL
);
建立好了Table,就可以开始编写gotourl.php了,程序分为三个部分:
1、 分析URL:
$url = preg_replace(“/^http:\\/\\//I”, “”, $url); // 将URL前面的“http://”去掉,不区分大小写
$url = preg_replace(“/@.+$/”, “”, $url); // 将“@”后面的部分去除
那么,剩下的URL就只含有“username”的部分了。
为了给数据库应用,需要对铭感的字符进行处理:
$url = addslashes($url);
2、 搜索真实的URL:
这里为了实现程序的通用性,使用了一个数据库的操作类(修改自PHPLib)来操作SQL数据库:
$db = new dbSql(); // 连接数据库
$queryString = sprinf(“SELECT gotourl FROM domain WHERE domain='%s';”, $url); // 生成查询字符串
$gotourl = $db->result($queryString); // 查询取得结果
3、 重定向:
在PHP中重定向浏览器有多种方法,在这里使用比较简单的HttpHeader来实现:
header(“location: $gotourl”);
附
其实像网易那样子的“username.yeah.net”的虚拟域名服务和“@”的实现方法大同小异,但是“.”需要以价值200元的DNS泛解析为代价,而“@”所需要的仅仅是:
1、 PHP/SQL数据库的权限;
2、 真正DNS解析的域名。
如果需要在虚拟域名服务中加入广告,比如网易的Popup窗口,可以将重定向部分改为:
<script>
window.open("url","nease","width=windth,height=height");
</script>
为了对得起“天地良心”,笔者没有将合并后完整的程序加上来(骗稿费?),如果大家比较懒,需要完整的代码(包括了添加等等),可以在http://zphp.com或者http://bbs@zphp.com取得。希望大家都有一个好的访问量。
不知道大家最近上网是否发现一个新现象,就是有一些网站开始提供“username@server”的虚拟域名服务。由于“@”的魅力,大家纷纷申请,你或许会想:“如果我也能提供这种服务,该多好阿:)人气肯定不错!”本文将给大家揭开“@”的“神秘”面纱,让大家都可以来“@”!(Do u @ today?)
别急,这个并不是电子邮件的地址,是一种虚拟域名,不相信的话可以在浏览器中访问“bbs@zphp.com”。部分朋友应该使用过IE的FTP功能,就是在浏览器的地址栏中键入“password:username@server”IE就会自动登陆FTP服务器;而在Http1.1协议中,就规定了Http访问授权功能,形式同样为“password:username@server”,其中“password:”可以省略,也是是访问“bbs@zphp.com”实际上是以bbs的身份访问“zphp.com”这个服务器。
那么我们只是需要将具体的URI传送给PHP程序,在数据库中搜索出真实的URL重定向就可以了。
首先我们需要制作一个传送URI的页面(作为服务器的默认文档,一般命名为index.htm);在JS的Window对象中就可以实现这项功能,下面是index.htm的源代码:
<script>
this.location = ‘gotourl.php?url=' + this.location.href;
</script>
上面的代码会将浏览器重定向到gotourl.php,并且通过QueryString给变量$url赋值为当前的URI。
成功将URI传递给PHP程序后,就可以进入数据库查找真实URL,下面是SQL数据库相对应的table 的结构:
CREATE TABLE domain(
Id int(3) UNSIGNED DEFAULT ‘0' NOT NULL, # 域名ID
Domain char(20) NOT NULL, # 域名
Gotourl char(255) NOT NULL, # 真实的URL
);
建立好了Table,就可以开始编写gotourl.php了,程序分为三个部分:
1、 分析URL:
$url = preg_replace(“/^http:\\/\\//I”, “”, $url); // 将URL前面的“http://”去掉,不区分大小写
$url = preg_replace(“/@.+$/”, “”, $url); // 将“@”后面的部分去除
那么,剩下的URL就只含有“username”的部分了。
为了给数据库应用,需要对铭感的字符进行处理:
$url = addslashes($url);
2、 搜索真实的URL:
这里为了实现程序的通用性,使用了一个数据库的操作类(修改自PHPLib)来操作SQL数据库:
$db = new dbSql(); // 连接数据库
$queryString = sprinf(“SELECT gotourl FROM domain WHERE domain='%s';”, $url); // 生成查询字符串
$gotourl = $db->result($queryString); // 查询取得结果
3、 重定向:
在PHP中重定向浏览器有多种方法,在这里使用比较简单的HttpHeader来实现:
header(“location: $gotourl”);
附
其实像网易那样子的“username.yeah.net”的虚拟域名服务和“@”的实现方法大同小异,但是“.”需要以价值200元的DNS泛解析为代价,而“@”所需要的仅仅是:
1、 PHP/SQL数据库的权限;
2、 真正DNS解析的域名。
如果需要在虚拟域名服务中加入广告,比如网易的Popup窗口,可以将重定向部分改为:
<script>
window.open("url","nease","width=windth,height=height");
</script>
为了对得起“天地良心”,笔者没有将合并后完整的程序加上来(骗稿费?),如果大家比较懒,需要完整的代码(包括了添加等等),可以在http://zphp.com或者http://bbs@zphp.com取得。希望大家都有一个好的访问量。
[2]桌面中心(四)数据显示
来源: 互联网 发布时间: 2013-11-30
来源:奥索网
桌面中心(四)数据显示
作者:elong
最后一步就是显示了。
下面这个程序要通过参数来调用。
比如php.php?jpg=jpg
后面的jpg是表格名。记住一定要的呀,不然就不能运行了,会显示程序出错。
大家可以把下面这个程序改一下。这样就可以更加美观了。
以下是源程序:
<html>
<head><title>显示</title>
</head>
<body>
<?
mysql_connect("localhost","用户名","密码") or die("无法联接数据库!");
$query="SELECT id,url,mess,fromx,url1,mess1,fromx1,url2,mess2,fromx2,url3,mess3,fromx3 from $jpg " ;
$result=mysql_db_query("elong",$query); //执行查询
$num=mysql_numrows($result);
$page=round($page);
$pagesize=4;
if ($page==0){
$page=1;}
else{
$page=$page;}
$pagecount=($num)/$pagesize;
$pagecount=ceil($pagecount);
?>
<?if ($page!=1 and $num!=0){
printf("<a href="/blog_article/%s/page/%s/amp;jpg/$jpg.html">首页</a>",$PHP_SELF,1);
printf("<a href="/blog_article/%s/page/%s/amp;jpg/$jpg.html"> 前页</a>",$PHP_SELF,$page-1);
}else{
?> 首页 前页 <?
}
?>
</font>
<?if ($page!=$pagecount and $num!=0){
printf("<a href="/blog_article/%s/page/%s/amp;jpg/$jpg.html"> 后页</a>",$PHP_SELF,$page+1);
printf("<a href="/blog_article/%s/page/%s/amp;jpg/$jpg.html"> 尾页</a>",$PHP_SELF,$pagecount);
}else{?> 后页 尾页 <?}?>页次:<strong><?echo $page?></strong>/<strong><?echo $pagecount?></strong>页
</span></td>
<?
if ($num<>0){
$pp=0;
for($ipage=0;$ipage<$pagesize;$ipage++){
$i=($page-1)*$pagesize+$ipage;
if($i < $num) {
$id=mysql_result($result,$i,"id");
$url=mysql_result($result,$i,"url");
$mess=mysql_result($result,$i,"mess");
$fromx=mysql_result($result,$i,"fromx");
$url1=mysql_result($result,$i,"url1");
$mess1=mysql_result($result,$i,"mess1");
$fromx1=mysql_result($result,$i,"fromx1");
$url2=mysql_result($result,$i,"url2");
$mess2=mysql_result($result,$i,"mess2");
$fromx2=mysql_result($result,$i,"fromx2");
$url3=mysql_result($result,$i,"url3");
$mess3=mysql_result($result,$i,"mess3");
$fromx3=mysql_result($result,$i,"fromx3");
$pp=$pp+1;
?>
<table width="668" border="2" cellspacing="0" cellpadding="0" align="center" bordercolor="#FFFFFF">
<tr>
<td width="167" height="127"> <a href="/blog_article/</echo $url/gt;.html" target="_blank"><IMG border=0 src="/blog_article/</echo $mess/gt;.html" width="160" height="120" border="4"></td>
<td width="167" height="127"><a href="/blog_article/</echo $url1/gt;.html" target="_blank"><IMG border=0 src="/blog_article/</echo $mess1/gt;.html" width="160" height="120" border="4"></td>
<td width="167" height="127"><a href="/blog_article/</echo $url2/gt;.html" target="_blank"><IMG border=0 src="/blog_article/</echo $mess2/gt;.html" width="160" height="120" border="4"></td>
<td width="167" height="127"><a href="/blog_article/</echo $url3/gt;.html" target="_blank"><IMG border=0 src="/blog_article/</echo $mess3/gt;.html" width="160" height="120" border="4"></td>
</tr>
</table>
<?
}
}
}
?>
<td nowrap align=center> <span <a href="/blog_article/%s/page/%s/amp;jpg/$jpg.html">首页</a>",$PHP_SELF,1);
printf("<a href="/blog_article/%s/page/%s/amp;jpg/$jpg.html"> 前页</a>",$PHP_SELF,$page-1);
}else{
?> 首页 前页 <?}?> </font> <?if ($page!=$pagecount and $num!=0){
printf("<a href="/blog_article/%s/page/%s/amp;jpg/$jpg.html"> 后页</a>",$PHP_SELF,$page+1);
printf("<a href="/blog_article/%s/page/%s/amp;jpg/$jpg.html"> 尾页</a>",$PHP_SELF,$pagecount);
}else{?> 后页 尾页 <?}?>页次:<strong><?echo $page?></strong>/<strong><?echo $pagecount?></strong>页
</span></td>
</TABLE></DIV></CENTER>
</BODY></HTML>
桌面中心(四)数据显示
作者:elong
最后一步就是显示了。
下面这个程序要通过参数来调用。
比如php.php?jpg=jpg
后面的jpg是表格名。记住一定要的呀,不然就不能运行了,会显示程序出错。
大家可以把下面这个程序改一下。这样就可以更加美观了。
以下是源程序:
<html>
<head><title>显示</title>
</head>
<body>
<?
mysql_connect("localhost","用户名","密码") or die("无法联接数据库!");
$query="SELECT id,url,mess,fromx,url1,mess1,fromx1,url2,mess2,fromx2,url3,mess3,fromx3 from $jpg " ;
$result=mysql_db_query("elong",$query); //执行查询
$num=mysql_numrows($result);
$page=round($page);
$pagesize=4;
if ($page==0){
$page=1;}
else{
$page=$page;}
$pagecount=($num)/$pagesize;
$pagecount=ceil($pagecount);
?>
<?if ($page!=1 and $num!=0){
printf("<a href="/blog_article/%s/page/%s/amp;jpg/$jpg.html">首页</a>",$PHP_SELF,1);
printf("<a href="/blog_article/%s/page/%s/amp;jpg/$jpg.html"> 前页</a>",$PHP_SELF,$page-1);
}else{
?> 首页 前页 <?
}
?>
</font>
<?if ($page!=$pagecount and $num!=0){
printf("<a href="/blog_article/%s/page/%s/amp;jpg/$jpg.html"> 后页</a>",$PHP_SELF,$page+1);
printf("<a href="/blog_article/%s/page/%s/amp;jpg/$jpg.html"> 尾页</a>",$PHP_SELF,$pagecount);
}else{?> 后页 尾页 <?}?>页次:<strong><?echo $page?></strong>/<strong><?echo $pagecount?></strong>页
</span></td>
<?
if ($num<>0){
$pp=0;
for($ipage=0;$ipage<$pagesize;$ipage++){
$i=($page-1)*$pagesize+$ipage;
if($i < $num) {
$id=mysql_result($result,$i,"id");
$url=mysql_result($result,$i,"url");
$mess=mysql_result($result,$i,"mess");
$fromx=mysql_result($result,$i,"fromx");
$url1=mysql_result($result,$i,"url1");
$mess1=mysql_result($result,$i,"mess1");
$fromx1=mysql_result($result,$i,"fromx1");
$url2=mysql_result($result,$i,"url2");
$mess2=mysql_result($result,$i,"mess2");
$fromx2=mysql_result($result,$i,"fromx2");
$url3=mysql_result($result,$i,"url3");
$mess3=mysql_result($result,$i,"mess3");
$fromx3=mysql_result($result,$i,"fromx3");
$pp=$pp+1;
?>
<table width="668" border="2" cellspacing="0" cellpadding="0" align="center" bordercolor="#FFFFFF">
<tr>
<td width="167" height="127"> <a href="/blog_article/</echo $url/gt;.html" target="_blank"><IMG border=0 src="/blog_article/</echo $mess/gt;.html" width="160" height="120" border="4"></td>
<td width="167" height="127"><a href="/blog_article/</echo $url1/gt;.html" target="_blank"><IMG border=0 src="/blog_article/</echo $mess1/gt;.html" width="160" height="120" border="4"></td>
<td width="167" height="127"><a href="/blog_article/</echo $url2/gt;.html" target="_blank"><IMG border=0 src="/blog_article/</echo $mess2/gt;.html" width="160" height="120" border="4"></td>
<td width="167" height="127"><a href="/blog_article/</echo $url3/gt;.html" target="_blank"><IMG border=0 src="/blog_article/</echo $mess3/gt;.html" width="160" height="120" border="4"></td>
</tr>
</table>
<?
}
}
}
?>
<td nowrap align=center> <span <a href="/blog_article/%s/page/%s/amp;jpg/$jpg.html">首页</a>",$PHP_SELF,1);
printf("<a href="/blog_article/%s/page/%s/amp;jpg/$jpg.html"> 前页</a>",$PHP_SELF,$page-1);
}else{
?> 首页 前页 <?}?> </font> <?if ($page!=$pagecount and $num!=0){
printf("<a href="/blog_article/%s/page/%s/amp;jpg/$jpg.html"> 后页</a>",$PHP_SELF,$page+1);
printf("<a href="/blog_article/%s/page/%s/amp;jpg/$jpg.html"> 尾页</a>",$PHP_SELF,$pagecount);
}else{?> 后页 尾页 <?}?>页次:<strong><?echo $page?></strong>/<strong><?echo $pagecount?></strong>页
</span></td>
</TABLE></DIV></CENTER>
</BODY></HTML>
[3]桌面中心(一)创建数据库
来源: 互联网 发布时间: 2013-11-30
来源:奥索网
桌面中心(一)创建数据库
作者:elong
这是小弟第一次写文章。不知道能不能发布呀。。我把程序写出来是想要大家参考一下。如果有哪位高手能改出更好的程序,
请别忘了和我说一声呀。 :P
源程序的演示页面在elong.oso.com.cn/desk/
第一步创建数据库:
我们就以OSO的数据库为列说明一下。
先登入数据库。然后在点自己的的数据库名,就在左边。
在输入命令那儿输入以下命令。
CREATE TABLE jpg (
id int(8) NOT NULL auto_increment,
url char(255) NOT NULL,
mess char(100) NOT NULL,
fromx char(50) NOT NULL,
url1 char(255) NOT NULL,
mess1 char(100) NOT NULL,
fromx1 char(50) NOT NULL,
url2 char(255) NOT NULL,
mess2 char(100) NOT NULL,
fromx2 char(50) NOT NULL,
url3 char(255) NOT NULL,
mess3 char(100) NOT NULL,
fromx3 char(50) NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE jpg1 (
id int(8) NOT NULL auto_increment,
url char(255) NOT NULL,
mess char(100) NOT NULL,
fromx char(50) NOT NULL,
url1 char(255) NOT NULL,
mess1 char(100) NOT NULL,
fromx1 char(50) NOT NULL,
url2 char(255) NOT NULL,
mess2 char(100) NOT NULL,
fromx2 char(50) NOT NULL,
url3 char(255) NOT NULL,
mess3 char(100) NOT NULL,
fromx3 char(50) NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE jpg2 (
id int(8) NOT NULL auto_increment,
url char(255) NOT NULL,
mess char(100) NOT NULL,
fromx char(50) NOT NULL,
url1 char(255) NOT NULL,
mess1 char(100) NOT NULL,
fromx1 char(50) NOT NULL,
url2 char(255) NOT NULL,
mess2 char(100) NOT NULL,
fromx2 char(50) NOT NULL,
url3 char(255) NOT NULL,
mess3 char(100) NOT NULL,
fromx3 char(50) NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE jpg3 (
id int(8) NOT NULL auto_increment,
url char(255) NOT NULL,
mess char(100) NOT NULL,
fromx char(50) NOT NULL,
url1 char(255) NOT NULL,
mess1 char(100) NOT NULL,
fromx1 char(50) NOT NULL,
url2 char(255) NOT NULL,
mess2 char(100) NOT NULL,
fromx2 char(50) NOT NULL,
url3 char(255) NOT NULL,
mess3 char(100) NOT NULL,
fromx3 char(50) NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE jpg4 (
id int(8) NOT NULL auto_increment,
url char(255) NOT NULL,
mess char(100) NOT NULL,
fromx char(50) NOT NULL,
url1 char(255) NOT NULL,
mess1 char(100) NOT NULL,
fromx1 char(50) NOT NULL,
url2 char(255) NOT NULL,
mess2 char(100) NOT NULL,
fromx2 char(50) NOT NULL,
url3 char(255) NOT NULL,
mess3 char(100) NOT NULL,
fromx3 char(50) NOT NULL,
PRIMARY KEY (id)
);
这些命令的意思是创建四个表来存放数据。这就代表图片的四个类。如果你要加类就可以多加表和改一下源程序。
桌面中心(一)创建数据库
作者:elong
这是小弟第一次写文章。不知道能不能发布呀。。我把程序写出来是想要大家参考一下。如果有哪位高手能改出更好的程序,
请别忘了和我说一声呀。 :P
源程序的演示页面在elong.oso.com.cn/desk/
第一步创建数据库:
我们就以OSO的数据库为列说明一下。
先登入数据库。然后在点自己的的数据库名,就在左边。
在输入命令那儿输入以下命令。
CREATE TABLE jpg (
id int(8) NOT NULL auto_increment,
url char(255) NOT NULL,
mess char(100) NOT NULL,
fromx char(50) NOT NULL,
url1 char(255) NOT NULL,
mess1 char(100) NOT NULL,
fromx1 char(50) NOT NULL,
url2 char(255) NOT NULL,
mess2 char(100) NOT NULL,
fromx2 char(50) NOT NULL,
url3 char(255) NOT NULL,
mess3 char(100) NOT NULL,
fromx3 char(50) NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE jpg1 (
id int(8) NOT NULL auto_increment,
url char(255) NOT NULL,
mess char(100) NOT NULL,
fromx char(50) NOT NULL,
url1 char(255) NOT NULL,
mess1 char(100) NOT NULL,
fromx1 char(50) NOT NULL,
url2 char(255) NOT NULL,
mess2 char(100) NOT NULL,
fromx2 char(50) NOT NULL,
url3 char(255) NOT NULL,
mess3 char(100) NOT NULL,
fromx3 char(50) NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE jpg2 (
id int(8) NOT NULL auto_increment,
url char(255) NOT NULL,
mess char(100) NOT NULL,
fromx char(50) NOT NULL,
url1 char(255) NOT NULL,
mess1 char(100) NOT NULL,
fromx1 char(50) NOT NULL,
url2 char(255) NOT NULL,
mess2 char(100) NOT NULL,
fromx2 char(50) NOT NULL,
url3 char(255) NOT NULL,
mess3 char(100) NOT NULL,
fromx3 char(50) NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE jpg3 (
id int(8) NOT NULL auto_increment,
url char(255) NOT NULL,
mess char(100) NOT NULL,
fromx char(50) NOT NULL,
url1 char(255) NOT NULL,
mess1 char(100) NOT NULL,
fromx1 char(50) NOT NULL,
url2 char(255) NOT NULL,
mess2 char(100) NOT NULL,
fromx2 char(50) NOT NULL,
url3 char(255) NOT NULL,
mess3 char(100) NOT NULL,
fromx3 char(50) NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE jpg4 (
id int(8) NOT NULL auto_increment,
url char(255) NOT NULL,
mess char(100) NOT NULL,
fromx char(50) NOT NULL,
url1 char(255) NOT NULL,
mess1 char(100) NOT NULL,
fromx1 char(50) NOT NULL,
url2 char(255) NOT NULL,
mess2 char(100) NOT NULL,
fromx2 char(50) NOT NULL,
url3 char(255) NOT NULL,
mess3 char(100) NOT NULL,
fromx3 char(50) NOT NULL,
PRIMARY KEY (id)
);
这些命令的意思是创建四个表来存放数据。这就代表图片的四个类。如果你要加类就可以多加表和改一下源程序。
最新技术文章: