当前位置:首页> PHP教程> PHP精通
关键字
文章内容
PHP生成动态WAP页面(三)
 
 
修改时间:[2010/08/15 16:27]    阅读次数:[838]    发表者:[起缘]
 
三、用PHP动态生成图像



  WAP应用使用一种特殊黑白的图像格式WBMP。我们可以用一些工具来将已有图像转换成WBMP格式然后在WML文档中使用。但是在WAP站点上如果能动态地生成所需图像如K线图等将会有广阔的应用前景。幸运的是PHP的GD库(版本1.8以上)已经提供了相应函数。



  <?PHP

  Header
(″Contenttype: 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库文件。



  四、在PHP中处理汉字



  WAP作为一种全球应用
选择了UNICODE 2.0作为其标准字符集编码以便能同时处理包括英文、中文、日文、法文等多种文字。而我们平常处理汉字使用的是GB2312编码不同的内码标准势必不能通用因此如果不在两种编码之间通过码表进行转换就会出现汉字乱码现象。现在已经有较成熟的GB2312与UNICODE编码转换的程序和函数并在ASP、PHP、JSP等系统中使用我们可以在一些技术站点上找到它们。



  目前的大多数WAP手机
Nokia7110、爱立信R320S等等都是使用UTF8编码的也就是采用UNICODE来编码。这样如果我们直接在WML使用中文字符GB2312编码将会产生乱码手机用户无法识别所以我们在输出中文之前要使用程序或函数对中文进行UNICODE的编码。而在少数支持GB2312编码的手机或WAP终端设备中我们可以在程序中定义好文档的内码类型后即可直接正确显示汉字例如



  <?php

  header
(″Contenttype: text/vnd.wap.wml; charset=gb2312″);

  echo (<wml><card><p>);

  echo (″中文测试″);

  echo (</p></card></wml>);

  ?>&nbs