php 常用代码

常用代码之    验证码的实现

先说说原理:首先生成16进制的数(验证码)是几位自己定义,放入session中,用于和表单提交过来的数据作对比。之后开始创建画布,添加背景,画干扰线,最后把生成的验证码添加到画布中。这就是验证码,之后再页面中调用都可以了

<?php
/**
*2013-8-6
*@author Frank
*验证码
*/

$code='';
for($i=0;$i<4;$i++){  // 4 是验证码的字数
$code.=dechex(rand(1,15));  // dechex是把数字转成16进制的数
}
// 把数存入session之中
session_start();
$_SESSION['code']=$code;

$image=imagecreatetruecolor(110, 30); //创建画布 // 宽和高
$color=imagecolorallocate($image, 225, 0, 255);// 添加背景颜色

//画干扰线
for($i=0;$i<10;$i++){//10 干扰线的条数
imageline($image, rand(0,100), rand(0,30), rand(0,110), rand(0,30), imagecolorallocate($image, rand(0,255), rand(0,255), rand(0,255)));
//imagecolorallocate 给干扰线添加背景色

}

imagestring($image,rand(3,8),rand(3,80),rand(3,20),$code,$color);
//第一个rand是字体大小
header("content-type:image/png");
imagepng($image);
imagedestroy($image);



?>

html页面中之中img标签中 指向自己写的验证码即可

<div>
<img src="./code.php" οnclick="this.src='code.php?a='+Math.random()"/>
</div>

//添加随机数的意义在于,每次点击页面代码的时候,都会传一个参数从而达到每次都刷新的效果


实现文件的复制。

$src //源文件   $dst //目标地址

首先判断$src

php 将xml格式转换成数组

//xml 转数组
function xmltoarray($object, &$tmparr=array()) {
    if (is_object($object)) {
        $tmparr = get_object_vars($object);
    }
    foreach ($tmparr as $k => $v) {
        if (is_array($v)) {
            $tmparr[$k] = xmltoarray($v, $tmparr[$k]);
        } elseif (is_object($v)) {
            $tmparr[$k] = xmltoarray($v, $tmparr[$k]);
        } else {
            $tmparr[$k] = $v;
        }
    }
    return $tmparr;
}


php文件上传相关php.ini配置:

①:file_uploads 是否允许上传文件,默认ON 

②:upload_tmp_dir 上传文件防止的临时目录,未指定则使用系统默认位置

③:upload_max_filesize 允许上传文件的大小的最大值,默认为2M 

④:post_max_size 控制采用POST方法进行一次表单提交中PHP所能接受的最大数据量,如果希望用PHP文件上传,则此值要改为比upload_max_filesize要大 

⑤:max_input_time 以秒为单位对通过POST/GET/PUT方式接受数据时间进行限制。

⑥:memory_limit 为了避免正在运行的脚本大量使用系统内存,PHP允许定义内存使用限额。通过设置此参数来制定单个脚本程序可以使用的最大内存容量,应适当大于post_max_size值

⑦:max_execution_time 用来设置在强制终止脚本前PHP等待脚本执行完毕的时间,单位秒。次选项可限制死循环脚本,但当存在一个长时间的合法活动时(如:上传大文件),这项功能也会导致操作失败。这样情况下必须考虑将此变量增加。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值