易截截图软件、单文件、免安装、纯绿色、仅160KB

php 使用GD库生成验证码


GD库是PHP进行图象操作一个很强大的库。
先在php.ini里增加一行引用:extension=php_gd2.dll
重启apache。做一个测试页 var_dump(gd_info());输出数据表明GD库引用成功。
表单auth.html
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
<title>验证码</title>
</head>
<body>
<h1>请输入验证码</h1>
<form action="check_auth.php" method="post">
   <input name="auth" type="text">
   <img src="auth.php" border="0" />
   <input type="submit" value="提交">
</form>
</body>
</html>
生成验证码 auth.php
<?php
   session_start();
   header("Content-type:image/png");
   $img_width=100;
   $img_height=20;
   srand(microtime()*100000);
   for($i=0;$i<4;$i++)
   {
        $new_number.=dechex(rand(0,15));
   }
   $_SESSION[check_auth]=$new_number;
   $new_number=imageCreate($img_width,$img_height);//创建图象
   ImageColorAllocate($new_number,255,255,255);  //设置背景色为白色
   for($i=0;$i<strlen($_SESSION[check_auth]);$i++)
   {
       $font=mt_rand(3,5);
       $x=mt_rand(1,8) + $img_width*$i/4;
       $y=mt_rand(1,$img_height/4);
       $color=imageColorAllocate($new_number,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200));//设置字符颜色
       imageString($new_number,$font,$x,$y,$_SESSION[check_auth][$i],$color);//输出字符
   }
   ImagePng($new_number);
  &nb


相关文档:

关于php 写文件 不换行 的问题

  今天遇到了一个怪问题,我用$fp=fopen("access_log.txt","ab")打开一个文件后开始往里面写数据,写的内容是 'XXX\nXXX\n';
  但是奇怪的是 不管我怎么往里面写 他是不换行,记事本里记录的数据 就是 'xxx\nxxx\n',
  很是恼火,去网上搜集资料,有的说改成'\r\n'什么的,结果是写进去后还是 'xxx\r\nxx ......

40个迹象表明你还是php菜鸟


你是PHP菜鸟,如果你:
1. 不会利用如phpDoc
这样的工具来恰当地注释你的代码
2. 对优秀的集成开发环境如Zend Studio
或Eclipse PDT
视而不见
3. 从未用过任何形式的版本控制系统,如Subclipse
4. 不采用某种编码与命名标准

,以及通用约定,不能在项目开发周期里贯彻落实
5. 不使用统一开发方式
6. 不转 ......

php JSON 中文乱码解决方案

<?php
// 将数组转换成Json格式,中文需要进行URL编码处理
function Array2Json($array) {
    arrayRecursive($array, 'urlencode', true);
    $json = json_encode($array);
    $json = urldecode($json);
    // ext需要不带引号的bool类型
&n ......

PHP IP函数

<?php
$start = ip2long('192.168.1.1');
$start = sprintf("%u", $start) ;
$end = ip2long('192.168.1.50');
$end = sprintf("%u", $end) ;
for ($start; $start<$end; $start++){
echo long2ip($start)."<br>";
}
?> ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号