PHP网站制作之PHP生成静态WAP页面
在我开始学习PHP以前,我从未想过要做软件工程,即便是在去听过华育国际的关于软件工程的美好前景后,因为我一直都没有想过要与代码打交道,而是想学好所学专业,做个网络工程师或者是网络安全人员。静态|页面 WAP(无线通信协定)是在数字挪动德律风、团体手持装备(PDA等)及盘算机之间停止通信的开放性全球尺度。因为静态的WAP页面在良多方面不克不及知足用户特性化的办事恳求,因而经由过程WAP办事器端言语发生静态的WML页面,具有很普遍的使用价值和很高的贸易价值。WAP使用布局十分相似于Internet,一个典范的WAP使用恳求是如许的:起首,具有WAP用户代办署理功效的挪动终端(WAP手机等)经由过程外部运转的微阅读器(Micro Browser)对某一网站以无线体例发送WAP办事恳求。该恳求先由WAP网关截获,对信息内容停止编码紧缩,以削减收集数据流量,同时依据需求将WAP协定转换成HTTP协定,然后将处置后的恳求转送到响应WAP办事器。在WAP办事器端,依据页面扩大名等性质,被恳求的页面直接或由办事器端剧本注释后输入,再经网关传回用户。
从上述WAP使用流程可以看到,生成静态WAP页面与静态发生Web网页的进程十分相似。然而因为WAP使用利用的WML言语来历于语法严厉的XML,因而请求输入的格局必需按WAP网页的标准输入。同时,因为WAP协定的使用局限、挪动客户真个软硬件程度等特别性,对每次输入的页面的巨细、图象的格局及容量都有必定限制。上面咱们以PHP剧本言语为例,看看若何静态输入WAP页面。
1、设置WEB办事器
起首你的 Web办事器要装置好PHP,即能处置PHP剧本法式。其次,为使Web办事器能同时辨认和处置PHP、WML、WBMP等文件,Web 办事器的MIME表需添加以下的几种文件类型。
text/vnd.wap.wml .wml
image/vnd.wap.wbmp .wbmp
application/vnd.wap.wmlc .wmlc
text/vnd.wap.wmls.wmls
application/vnd.wap.wmlsc .wmlsc
2、用PHP输入复杂静态WAP页面
上面有一个最复杂的PHP生成WAP页面的例子。注重因为需求PHP注释器来注释该法式,并输入WAP页面,因而一切相似法式应以.php为扩大名。
<?php
header(″Content-type: text/vnd.wap.wml″);
echo (″<wml> <card> <p>″);
echo date( ″l dS of F Y h:i:s A″ );
echo (″</p></card></wml>″);
?>
该例子在WAP手机摹拟器中可以阅读,输入以后日期工夫,而在通俗的阅读器中没法辨认,乃至会被以为是毛病下载。这是由于在法式开首就声了然该输入文档为WML类型,该类型只要WAP装备可以辨认并注释。值得注重的是,咱们罕见的HTML言语对标准性请求不严,大多半阅读器能“容忍”个中相当多的编写毛病,而WML标准相当严厉,一点掉误都能够招致没法输入所需页面。
一旦咱们晓得了用PHP剧本输入WAP页面的尺度进程,咱们就可以够利用PHP壮大的功效共同以WML言语的交互处置和WML Script的复杂剧本,开辟出合适咱们需求的使用体系了。
3、用PHP静态生成图象
WAP使用利用一种特别口角的图象格局WBMP。咱们可以用一些东西来将已有图象转换成WBMP格局,然后在WML文档中利用。然而在WAP站点上假如能静态地生成所需图象如K线图等,将会有宽广的使用远景。侥幸的是,PHP的GD库(版本1.8以上)已供应了响应函数。
<?PHP
Header(″Content-type: image/vnd.wap.wbmp″);
Sim = ImageCreate(50, 50);
Swhite = ImageColorAllocate(Sim,255,255,255);
Sblack = ImageColorAllocate(Sim,0,0,0);
ImageRectangle(Sim, 5, 5, 20, 20, Sblack);
ImageWBMP(Sim); ImageDestroy(Sim);
?>
该文件将在WAP摹拟器中显示一个黑色矩形框。注重要利用GD的图象函数库,必需在PHP设置装备摆设中加载PHP_GD.DLL库文件。
4、在PHP中处置汉字
WAP作为一种全球使用,选择了UNICODE 2.0作为其尺度字符集编码,以便能同时处置包含英文、中文、日文、法文等多种文字。而咱们平凡处置汉字利用的是GB2312编码,分歧的内码尺度必将不克不及通用,因而假如不在两种编码之间经由过程码表停止转换,就会呈现汉字乱码景象。如今已有较成熟的GB-2312与UNICODE编码转换的法式和函数,并在ASP、PHP、JSP等体系中利用,咱们可以在一些手艺站点上找到它们。
今朝的大多半WAP手机(Nokia7110、爱立信R320S等等)都是利用UTF-8编码的,也就是采取UNICODE来编码。如许,假如咱们直接在WML利用中文字符(GB2312编码),将会发生乱码,手机用户没法辨认,所以咱们在输入中文之前,要利用法式或函数对中文停止UNICODE的编码。而在多数撑持GB2312编码的手机或WAP终端装备中,咱们可以在法式中界说好文档的内码类型后便可直接准确显示汉字,例如:
<?php
header(″Content-type: text/vnd.wap.wml; charset=gb2312″);
echo (″<wml><card><p>″);
echo (″中文测试″);
echo (″</p></card></wml>″);
?>
一下弹出N多页面!很明显,你的留言本并没有做好安全防范,被人用JS代码小小的耍了一下,我很同情你这个时候的感受,但是没有别的办法了,继续努力吧! 首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。 我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。 个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。 兴趣是最好的老师,百度是最好的词典。 说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年具体的记不清啦,囧。 当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标, 曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线\\\\\\\'_\\\\\\\' ; 真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎, 小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。 兴趣是最好的老师,百度是最好的词典。 使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。 为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。 最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。 兴趣是最好的老师,百度是最好的词典。 对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。 有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。 说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年具体的记不清啦,囧。 学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。 环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。
页:
[1]