|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
实现固定数量的几张图片的上传;再如调试软件ZendStudio的使用,看了很多次老师的应用,但总感觉用的不顺手,不懂那么多的数据值,到底哪一个才是真正的问题所在;还有如数据库语句的封装,我只会用简单的函数来进行封装。 玩转虚拟域名◎+ .
不晓得人人比来上彀是不是发明一个新景象,就是有一些网站入手下手供应“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获得。但愿人人都有一个好的会见量。 毕业设计作品自己个人还是觉得比较满意的,尽管有些功能考虑的不全面,也没有很好的实现。 |
|