仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1973|回复: 18
打印 上一主题 下一主题

[学习教程] PHP网页编程之贴段PHP绘图的法式,给但愿用PHP作图的...

[复制链接]
柔情似水 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:24:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
告诉你了一个方式,但是缺少努力这一环节,那也是白搭。法式   次要包含三个文件:
1、view.php是挪用法式。
2、chart.php是用来生成图表的法式。
3、gbtoutf8.php是用来中文解码的(注:已处理中英文夹杂不克不及正常显示的成绩)

1、view.php
<?
include("gbtoutf8.php");
?>
<html>
<head>
<title>  </title>
<meta name="Author" content="XIANG Li">
</head>
<?
/*此处数据可从数据库中获得*/
$aStr = "IT,PC,Phone,Sever,Passport,Software";
$aSoft = "Win2000,Win98,Office,Foxmail,Outlook";
$aHard = gb2utf8("地板,窗户,玻璃,桌子,灯管,植被");
$title1 = gb2utf8('2002年IT保护report');
$title2 = gb2utf8('2002年软件保护report');
$title3 = gb2utf8('2002年固定资产report');
?>
<body>
<div align="center">
<table>
<tr>
    <td><input type="image" src="./chart.php?aStr=<?=$aStr?>&title=<?=$title1?>"></td>
</tr>
<tr><td> </td></tr>
<tr>
    <td><input type="image" src="./chart.php?aStr=<?=$aSoft?>&title=<?=$title2?>"></td>
</tr>
<tr><td> </td></tr>
<tr>
    <td><input type="image" src="./chart.php?aStr=<?=$aHard?>&title=<?=$title3?>"></td>
</tr>
</table></div>
</body>
</html>

2、chart.php
<?php
/*
*  功效:生成统计图表
*  法式员:wlxz
* 日期:2002-00-00
*/

Header("Content-type: image/png");
  $im = ImageCreate (350, 280);
  $col_oth = ImageColorAllocate($im, 0,0,0);
  $col_orn = ImageColorAllocate($im, 255,192,0);
  $col_yel = ImageColorAllocate($im, 255,255,0);
  $col_red = ImageColorAllocate($im, 255,0,0);
  $col_grn = ImageColorAllocate($im, 0,255,0);
  $col_blu = ImageColorAllocate($im, 0,0,255);
  $col_wit = ImageColorAllocate($im, 255,255,255);
  $col_array = array($col_oth, $col_orn, $col_yel, $col_red, $col_grn, $col_blu);

$dot1 = 28;
$dot2 = 20;
$font="c:/winnt/fonts/simhei.ttf";
$aStr = explode(",", trim($_GET['aStr']));
$title = trim($_GET['title']);

ImageTTFText($im,18,0,100,50,$col_wit,$font,$title);//写题目

  for($i=1;$i<count($col_array);$i++){
  ImageFilledRectangle($im,50*$i-$dot2,$dot1*$i,50*$i,200,$col_array[$i]);
  ImageRectangle($im,50*$i-$dot2,$dot1*$i,50*$i,200,$col_wit);
  ImageRectangle($im,50*$i-$dot2-1,$dot1*$i-1,50*$i+1,200,$col_wit);
  ImageTTFText($im,14,270,50*$i-15,205,$col_wit,$font,$aStr[$i-1]);
  
// ImageLine($im,50*$i-$dot2,$dot1*$i,50*$i-$dot2,200,$col_wit);
  ImageLine($im,50*$i-$dot2,$dot1*$i,50*$i,$dot1*$i,$col_wit);
  }
  ImageRectangle($im,10,10,300,200,$col_wit);
  ImageRectangle($im,11,11,301,201,$col_wit);

//右侧百分比
  for($i=1;$i<count($col_array);$i++){
    ImageLine($im,300,$i*33,306,$i*33,$col_wit);
    $str = (100-$i*5)."%";
    ImageTTFText($im,14,0,315,$i*33+2,$col_wit,$font,$str);
  }

  ImagePNG($im);
  ImageDestroy($im);
?>

3.gbtoutf8.php
<?
/*
*  功效:把GB2312编码转换成UTF-8的编码
*  法式员:wlxz
* 日期:2002-00-00
*/

function gb2utf8($gb){
    if(!trim($gb))
        return $gb;

    $filename="gb2312.txt";
    $tmp=file($filename);
    $codetable=array();
   
    while(list($key,$value)=each($tmp))
        $codetable[hexdec(substr($value,0,6))]=substr($value,7,6);
   
    $ret="";
    $utf8="";
   
    while($gb){
        if (ord(substr($gb,0,1))>127)
            {
            $this=substr($gb,0,2);
            $gb=substr($gb,2,strlen($gb));
            $utf8=u2utf8(hexdec($codetable[hexdec(bin2hex($this))-0x8080]));

            for($i=0;$i<strlen($utf8);$i+=3)
                $ret.=chr(substr($utf8,$i,3));
            }
            else{
                $ret.=substr($gb,0,1);
                $gb=substr($gb,1,strlen($gb));
                }
    }
   
    return $ret;
}

function u2utf8($c){
    for($i=0;$i<count($c);$i++)
        $str="";

    if ($c < 0x80){
        $str.=$c;
    }
    else if ($c < 0x800){
        $str.=(0xC0 | $c>>6);
        $str.=(0x80 | $c & 0x3F);
    }
    else if ($c < 0x10000){
        $str.=(0xE0 | $c>>12);
        $str.=(0x80 | $c>>6 & 0x3F);
        $str.=(0x80 | $c & 0x3F);
    }
    else if ($c < 0x200000){
        $str.=(0xF0 | $c>>18);
        $str.=(0x80 | $c>>12 & 0x3F);
        $str.=(0x80 | $c>>6 & 0x3F);
        $str.=(0x80 | $c & 0x3F);
    }
   
    return $str;
}


function gb2unicode($gb){
    if(!trim($gb))
        return $gb;
   
    $filename="gb2312.txt";
    $tmp=file($filename);
    $codetable=array();

    while(list($key,$value)=each($tmp))
        $codetable[hexdec(substr($value,0,6))]=substr($value,9,4);
    $utf="";
    while($gb){
        if (ord(substr($gb,0,1))>127){
            $this=substr($gb,0,2);
            $gb=substr($gb,2,strlen($gb));
            $utf.="&#x".$codetable[hexdec(bin2hex($this))-0x8080].";";
            }
            else{
                $gb=substr($gb,1,strlen($gb));
                $utf.=substr($gb,0,1);
                }
    }
    return $utf;
}
?>  可以在书上很方便地做标记,及时记下自己的心得体会。
山那边是海 该用户已被删除
沙发
发表于 2015-2-7 03:42:03 | 只看该作者
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
小女巫 该用户已被删除
板凳
发表于 2015-2-20 06:05:39 | 只看该作者
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
活着的死人 该用户已被删除
地板
发表于 2015-3-4 02:12:49 | 只看该作者
刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。
金色的骷髅 该用户已被删除
5#
发表于 2015-3-11 04:46:58 | 只看该作者
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
兰色精灵 该用户已被删除
6#
发表于 2015-3-16 19:24:09 | 只看该作者
写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。
小魔女 该用户已被删除
7#
发表于 2015-3-22 00:07:02 | 只看该作者
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
只想知道 该用户已被删除
8#
发表于 2015-4-19 09:00:04 | 只看该作者
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
飘灵儿 该用户已被删除
9#
发表于 2015-4-23 11:45:09 | 只看该作者
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
愤怒的大鸟 该用户已被删除
10#
发表于 2015-6-16 04:18:46 | 只看该作者
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
蒙在股里 该用户已被删除
11#
发表于 2015-6-19 22:03:39 | 只看该作者
基础有没有对学习php没有太大区别,关键是兴趣。
再见西城 该用户已被删除
12#
发表于 2015-7-9 16:52:16 | 只看该作者
对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。
因胸联盟 该用户已被删除
13#
发表于 2015-7-13 07:09:15 | 只看该作者
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
变相怪杰 该用户已被删除
14#
发表于 2015-7-15 05:43:57 | 只看该作者
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
老尸 该用户已被删除
15#
发表于 2015-7-25 23:13:27 | 只看该作者
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
不帅 该用户已被删除
16#
发表于 2015-7-29 01:57:38 | 只看该作者
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
深爱那片海 该用户已被删除
17#
发表于 2015-9-24 08:16:08 | 只看该作者
爱上php,他也会爱上你。
透明 该用户已被删除
18#
发表于 2015-10-2 00:02:25 | 只看该作者
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
简单生活 该用户已被删除
19#
发表于 2015-10-4 03:13:25 | 只看该作者
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-3 00:39

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表