仓酷云

标题: PHP编程:玩转虚拟域名◎+ . [打印本页]

作者: 不帅    时间: 2015-2-4 00:07
标题: PHP编程:玩转虚拟域名◎+ .
实现固定数量的几张图片的上传;再如调试软件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获得。但愿人人都有一个好的会见量。 毕业设计作品自己个人还是觉得比较满意的,尽管有些功能考虑的不全面,也没有很好的实现。
作者: 精灵巫婆    时间: 2015-2-4 08:56
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
作者: 简单生活    时间: 2015-2-4 11:59
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
作者: 不帅    时间: 2015-2-9 07:37
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
作者: 小魔女    时间: 2015-2-27 04:32
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
作者: 乐观    时间: 2015-3-6 19:19
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
作者: 兰色精灵    时间: 2015-3-11 11:36
爱上php,他也会爱上你。
作者: 山那边是海    时间: 2015-3-18 08:35
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。
作者: admin    时间: 2015-3-25 14:12
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
作者: 金色的骷髅    时间: 2015-3-30 05:46
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
作者: 爱飞    时间: 2015-3-30 14:17
至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。
作者: 愤怒的大鸟    时间: 2015-4-3 07:22
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
作者: 飘飘悠悠    时间: 2015-4-7 12:28
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
作者: 分手快乐    时间: 2015-4-7 15:26
做为1门年轻的语言,php一直很努力。
作者: 冷月葬花魂    时间: 2015-4-7 20:14
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
作者: 再见西城    时间: 2015-4-9 11:13
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
作者: 再现理想    时间: 2015-4-11 22:46
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
作者: 变相怪杰    时间: 2015-4-14 02:38
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
作者: 第二个灵魂    时间: 2015-4-18 01:42
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
作者: 蒙在股里    时间: 2015-5-4 19:06
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2