php读取csv数据保存到数组代码

 更新时间:2016年11月25日 16:28  点击:1723
csv是常用的excel格式的替代品哦,很多时候我们导出数据是都会导成csv格式的,这样和excel没什么区别,下面的程序是要读取csv数据保存到数组我们要对数据进行操作,所以保存到数据。
 代码如下 复制代码

$info=csvtoarray::open('teste.csv');
//echo '<pre>';
//print_r($info);
//echo '</pre>';
foreach ($info as $c)
 {
  echo '学号:'.$c[0];
  echo '姓名:'.$c[1];
  echo '年龄:'.$c[2];
  echo '身高:'.$c[3].'<br>';
 }
 

 final class csvtoarray{

  /**
   * 把csv文件解析为一个数组返回
   *
   * @param string $file 要解析的csv文件路径
   * @param char $delimiter csv文件里的内容分隔符 默认为;
   * @return array
   */
  public static function open($file, $delimiter = ';'){
   return self::ordenamultiarray(self::csvarray($file, $delimiter), 1);
  }

  private function csvarray($file, $delimiter)
  {
   $result = array();
   $size = filesize($file) + 1;
   $file = fopen($file, 'r');
   $keys = fgetcsv($file, $size, $delimiter);
   fseek($file,0);//这里原来的没有..自己加上..这样能读取到第一行的内容
   while ($row = fgetcsv($file, $size, $delimiter))
   {
    for($i = 0; $i < count($row); $i++)
    {
     if(array_key_exists($i, $keys))
     {
      $row[$keys[$i]] = $row[$i];
     }
    }
    print_r($row);
    $result[] = $row;
   }

   fclose($file);

   return $result;
  }
  private function ordenamultiarray($multiarray, $secondindex)
  {
   while (list($firstindex, ) = each($multiarray))
   $indexmap[$firstindex] = $multiarray[$firstindex][$secondindex];
   asort($indexmap);
   while (list($firstindex, ) = each($indexmap))
   if (is_numeric($firstindex))
   $sortedarray[] = $multiarray[$firstindex];
   else $sortedarray[$firstindex] = $multiarray[$firstindex];
   return $sortedarray;
  }
 }

 代码如下 复制代码
<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.111cn.net/1999/xhtml">
<head>
<meta content="text/html; charset=utf-8" http-equiv="content-type" />
<title></title>
<script language="网页特效" type="text/网页特效">
function addinput()//增加input节点
{
var input=document.createelement('input');//创建一个input节点
var br=document.createelement('br');//创建一个br节点
input.setattribute('type','file');// 设置input节点type属性为file
input.setattribute('name','files[]');//设置input节点 name属性为files[],以 数组的方式传递给服务器端
document.form1.appendchild(br);//把节点添加到 form1表单中
document.form1.appendchild(input);
}
</script>
</head>
<?php
if($_post['sub']=="www")
{
$waterimg="water.png";
$ftype=array('image/jpg','image/jpeg','imgage/png','image/pjpeg','image/gif');//允许上传的文件类型
$files=$_files['files'];
$fnum=count($files['name']); //取得上传文件个数
for($i=0;$i<$fnum;$i++)
{
 
   if($files['name'][$i]!=''&&is_uploaded_file($files['tmp_name'][$i]))
   {
  
    if(in_array($files['type'][$i],$ftype))//判断文件是否是允许的类型
    {
 
     $fname[$i]='upfile/'.rand(0,10000).time().substr($files['name'] [$i],strrpos($files['name'][$i],'.'));//自动命名
     move_uploaded_file($files['tmp_name'][$i],$fname[$i]);
     echo '<br/>文件上传成功!';
 
    }
    else
    {
     echo '<br/>不允许的文件类型!';
  exit;
    }
   }
   else
   {
    echo '<br/>该文件不存在!';
 exit;
   }
watermark($fname[$i],$waterimg);   
}
 
  $string=implode('|',$fname);
 echo $string;
}
 
?>
<body>
<form name="form1" method="post" action="" enctype="multipart/form-data" >
    <input type="file" name="files[]" id="files[]" />
<input type="submit" name="sub" value="上传"/>
<input name="sub" type="hidden" id="sub" value="www" />
</form>
<a href="#" onclick="addinput()">再上传一张</a>
<?
/**
* 为图片加水印
* @param string $desimg 目标图片 参数格式为 ./images/pic.jpg
* @param string $waterimg 水印图片 参数格式同上,水印图片为 png格式,背景透明
* @param int positon 水印地位 1:顶部居左 2:顶部居右 3:居中 4 :底部居左 5:底部居右
* @param bool $saveas 能否另存为,默许值false,默示笼盖原图
* @param int $alpha 水印图片的不通明度
* @return string $savepath 新图片的途径
* **/
function watermark($desimg,$waterimg,$positon=1,$saveas=false,$alpha=30)
{
//获取目图片的根基信息
$temp=pathinfo($desimg);
$name=$temp["basename"];//文件名
$path=$temp["dirname"];//文件地点的文件夹
$extension=$temp["extension"];//文件扩展名
if($saveas)
{
//需要另存为
$name=rtrim($name,".$extension")."_2.";//从头命名
$savepath=$path."/".$name.$extension;
}
else
{
//不需要另存为则笼盖原图
$savepath=$path."/".$name;
}
$info=getimageinfo($desimg);//获取目标图片的信息
$info2=getimageinfo($waterimg);//获取水印图片的信息
$desimg=create($desimg);//从原图创立
$waterimg=create($waterimg);//从水印图片创立
//地位1:顶部居左
if($positon==1)
{
$x=0;
$y=0;
}
//地位2:顶部居右
if($positon==2)
{
$x=$info[0]-$info2[0];
$y=0;
}
//地位3:居中
if($positon==3)
{
$x=($info[0]-$info2[0])/2;
$y=($info[1]-$info2[1])/2;
}
//地位4:底部居左
if($positon==4)
{
$x=0;
$y=$info[1]-$info2[1];
}
//地位5:底部居右
if($positon==5)
{
$x=$info[0]-$info2[0];
$y=$info[1]-$info2[1];
}
imagecopymerge($desimg,$waterimg,$x,$y,0,0,$info2[0],$info2[1],$alpha);
imagejpeg($desimg,$savepath);
imagedestroy($desimg);
imagedestroy($waterimg);
return $savepath;
}
/**
* 获取图片的信息,width,height,image/type
* @param string $src 图片途径
* @return 数组
* **/
function getimageinfo($src)
{
return getimagesize($src);
}
/**
* 创立图片,前往本钱范例
* @param string $src 图片途径
* @return resource $im 前往本钱范例
* **/
function create($src)
{
$info=getimageinfo($src);
switch ($info[2])
{
case 1:
$im=imagecreatefromgif($src);
break;
case 2:
$im=imagecreatefromjpeg($src);
break;
case 3:
$im=imagecreatefrompng($src);
break;
}
return $im;
}
 ?>

</body>
</html>

会员注册验证代码(php+mysql+Ajax)

会员注册验证代码(php教程+mysql教程+ajax)
<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link href="images/css教程.css" rel="stylesheet" type="text/css" />
<title>会员注册验证代码(php+mysql+ajax)</title>
<script language="网页特效" src="网页特效/common.网页特效"></script>
<script language="网页特效" src="js/prototype.js"></script>
<script language="javascript" src="js/passwordstrength.js"></script>
<script language="javascript">
 var icon = '';
 var ns = ["usr","pwd","repwd","eml"];
 function changeusr(){
  if($("checkbtn").disabled) $("checkbtn").disabled = false;  
 }
 function checkusr(s){  
  var ma = ["用户名(4-16位)!","用户名由数字、英文、下划线、中杠线组成!"];
  if(!limitlen(s,4,16)){
   showinfo("usr",ma[0]);
   return false;
  }
  if(!hasaccountchar(s)){
   showinfo("usr",ma[1]);
   return false;
  }
  showinfo("usr");
  return true;
 }
 function checkpwd(s){
  var ma = ["密码(6-16位)!","密码不能包含中文或全角符号!","两次输入的密码不一致!"];
  ps教程.update(s);
  if(!limitlen(s,6,16)){
   showinfo("pwd",ma[0]);
   return false;
  }
  if(haschinesechar(s)){
   showinfo("pwd",ma[1]);
   return false;
  }
  if(limitlen($f("repwdinput"),6,16)){
   if(trim($f("repwdinput")) == trim(s)){
    showinfo("pwd");
    showinfo("repwd");
    return true;
   }else{
    showinfo("pwd",ma[2]);
    return false;
   }
  }
  showinfo("pwd");
  return true;
 }
 function checkpwd2(s){
  var ma = ["确认密码(6-16位)!","密码不能包含中文或全角符号!","两次输入的密码不一致!"];
  if(!limitlen(s,6,16)){
   showinfo("repwd",ma[0]);
   return false;
  }
  if(haschinesechar(s)){
   showinfo("repwd",ma[1]);
   return false;
  }
  if(limitlen($f("pwdinput"),6,16)){
   if(trim($f("pwdinput")) == trim(s)){
    showinfo("pwd");
    showinfo("repwd");
    return true;
   }else{
    showinfo("repwd",ma[2]);
    return false;
   }
  }
  showinfo("repwd");
  return true;
 }
 function checkeml(s){
  var ma = ["请输入常用邮件!","邮件格式不正确!"];
  if(s.length < 5){
   showinfo("eml",ma[0]);
   return false;
  }
  if(!isemail(s)){
   showinfo("eml",ma[1]);
   return false;
  }
  showinfo("eml");
  return true;
 }
 function showinfo(n,s){
  var fdo = $(n+"framediv");
  var ido = $(n+"infodiv");
  if(typeof s == 'undefined'){
   fdo.classname = "framedivpass";
   ido.innerhtml = "<img src=images/duihao.jpg>";
  }else{
   fdo.classname = "framedivwarn";
   ido.innerhtml = icon + s;
  }
 }
 //======================================================;
 function loadcheck(){
  if(trim($f('usrinput')).length == 0) return;
  $("checkbtn").disabled = true;
  var o = $("checkdiv");
  o.innerhtml = getloadinfo(); 
  loadajaxdata("reg.php",{usr:$f('usrinput')},successcheck,errorcheck);
  
 }
 function successcheck(v){
  var o = $("checkdiv");
  o.innerhtml = getcheckhtml(v.responsetext);
 }
 function errorcheck(){
  $("checkbtn").disabled = false;
  var o = $("checkdiv");
  o.innerhtml = geterrorinfo();
 }
 function getcheckhtml(s){
  s = (s == "1")? "恭喜您,用户名可以注册!":"对不起,该用户名已经被注册!";
  return s;
   }
 //======================================================;
 function getloadinfo(){
  return '正在加载数据...';
 }
 function geterrorinfo(){
  return '数据加载失败!';
 }
 //======================================================;
 function initpage(){
  for(var i=0;i<ns.length;i++){
   $(ns[i]+"input").value = "";
  }
 }
 function checksignup() {
if ( document.formsignup.reauthnum.value == '' ) {
window.alert('请输入认证码!!');
document.formsignup.reauthnum.focus();
return false;
}
return true;
}
function isallow_jewellry(){
        if(document.formsignup.agree.checked == false){
            document.formsignup.submit.disabled = true;
            }else if(document.formsignup.agree.checked == true){
            document.formsignup.submit.disabled = false;
            }
        }

</script>
</head>

<body class="statusbar" onload="initpage();">
<table width="100%" class="wn_login_01">
  <tr>
    <td></td>
  </tr>
</table>
<table width="100%">
  <tr>
    <td height="24"></td>
  </tr>
</table>
<table width="721" align="center">
  <tr>
    <td height="97" class="hyzc-4"></td>
  </tr>
</table>
<table width="721" align="center">
  <tr>
    <td height="22" class="hyzc-5"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="713" height="28"></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td class="hyzc-8">请注册会员,只有会员才能发表贴子,游客可以回贴和使用快捷回复功能!</td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="713" height="25"></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="45"></td>
    <td width="420"><font class="hyzc-1-1">提示:</font><font class="hyzc-9">如果您已经注册了会员,请跳过此步骤,直接点这里</font></td>
    <td width="248"><form id="form1" name="form1" method="post" action="">
      <input type="image" name="imagefield" src="images/hyzc-3.jpg" />
    </form>
    </td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="713" height="18"></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="30"></td>
    <td width="653" height="1" class="hyzc-1-2"></td>
    <td width="30"></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="713" height="18"></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<form id="form2" name="formsignup" method="post" action="" >
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="45"></td>
    <td width="130"><font class="hyzc-1-1">填写登录名和密码</font>&nbsp;&nbsp;<font class="hyzc-6">*</font></td>
    <td width="85" align="right">登录名:</td>
    <td class="hyzc-1-5">
    <span class="framedivnormal" id="usrframediv">
    <input type="text" name="usrinput" id="usrinput" class="hyzc-1-3" onkeyup="checkusr(this.value);changeusr();" onfocus="checkusr(this.value);">&nbsp;&nbsp;<span id="usrinfodiv" class="hyzc-6"></span></span>
    </td>
    <td width="4" class="hyzc-7"></td>
  <tr><tr height=30><td class="hyzc-7"></td><td></td><td></td><td></td><td valign=bottom>&nbsp;&nbsp;<input name="checkbtn" type="button" id="checkbtn" onclick="loadcheck();" value="检测用户名是否可用">&nbsp;&nbsp;&nbsp;<span id="checkdiv"></span></td><td class="hyzc-7"></td></tr>
</table>
<table width="721" border="0" align="center"><tr><td width="4" class="hyzc-7"></td><td width="713" height="8"></td><td width="4" class="hyzc-7"></td></table>

<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="165"></td>
    <td width="10"><font class="hyzc-6">*</font></td>
    <td width="90" align="right">输入登录密码:&nbsp;</td>
    <td><span class="framedivnormal" id="pwdframediv"> <input name="pwdinput" type="password" id="pwdinput" maxlength="16" onkeyup="checkpwd(this.value);" onfocus="checkpwd(this.value);" class="hyzc-1-3">&nbsp;&nbsp;<span id="pwdinfodiv" class="hyzc-6"></span>
      </span>
      </td>
    <td width="4" class="hyzc-7"></td>
  </tr>     
  <tr height=30><td class="hyzc-7"></td><td></td><td></td><td></td><td><script language="javascript">
  var ps = new passwordstrength();
  ps.setsize("200","22");
 </script></td><td class="hyzc-7"></td></tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="713" height="5"></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="165"></td>
    <td width="10"><font class="hyzc-6">*</font></td>
    <td width="90" align="right">再次输入密码:&nbsp;</td>
    <td >
    <span class="framedivnormal" id="repwdframediv"><input name="repwdinput" type="password" id="repwdinput" maxlength="16" onkeyup="checkpwd2(this.value);" onfocus="checkpwd2(this.value);" class="hyzc-1-3">&nbsp;&nbsp;
    <span id="repwdinfodiv" class="hyzc-6"></span>
    </span>
    </td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="713" height="5"></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>

<table width="721" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="30"></td>
    <td width="653" height="1" class="hyzc-1-2"></td>
    <td width="30"></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="713" height="20"></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="45"></td>
    <td width="120"><font class="hyzc-1-1">填写个人资料信息</font></td>
    <td width="10"><font class="hyzc-6">*</font></td>
    <td width="90" align="right">邮箱:&nbsp;</td>
    <td><span class="framedivnormal" id="emlframediv"><input name="emlinput" type="text" id="emlinput" onfocus="checkeml(this.value);" onkeyup="checkeml(this.value);" maxlength="40" class="hyzc-1-3">&nbsp;&nbsp;
    <span id="emlinfodiv" class="hyzc-6"></span>
    </span>
    </td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="713" height="5"></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="45"></td>
    <td width="120"></td>
    <td width="10"></td>
    <td width="85" align="right">性别:</td>
    <td width="175" class="hyzc-1-5"><input name="radiobutton" type="radio" value="radiobutton" checked="checked" />
    男<input type="radio" name="radiobutton" value="radiobutton" />
    女</td>
    <td width="270"></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="713" height="15"></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="45"></td>
    <td width="120"></td>
    <td width="10"></td>
    <td width="85" align="right">出生日期:</td>
    <td width="225" class="hyzc-1-5">
      <select name="select">
   <option value="1">1900</option>
   <option value="1">2009</option>
      </select>年
   <select name="select">
   <option value="1">01</option>
   <option value="1">02</option>
   <option value="1">03</option>
   <option value="1">04</option>
   <option value="1">05</option>
   <option value="1">06</option>
   <option value="1">07</option>
   <option value="1">08</option>
   <option value="1">09</option>
   <option value="1">10</option>
   <option value="1">11</option>
   <option value="1">12</option>
      </select>月
   <select name="select">
   <option value="1">01</option>
   <option value="2">02</option>
   <option value="3">03</option>
   <option value="4">04</option>
   <option value="5">05</option>
   <option value="6">06</option>
   <option value="7">07</option>
   <option value="8">08</option>
   <option value="9">09</option>
   <option value="10">10</option>
   <option value="11">11</option>
   <option value="12">12</option>
   <option value="13">13</option>
   <option value="14">14</option>
   <option value="15">15</option>
   <option value="16">16</option>
   <option value="17">17</option>
   <option value="18">18</option>
   <option value="19">19</option>
   <option value="20">20</option>
   <option value="21">21</option>
   <option value="22">22</option>
   <option value="23">23</option>
   <option value="24">24</option>
   <option value="25">25</option>
   <option value="26">26</option>
   <option value="27">27</option>
   <option value="28">28</option>
   <option value="29">29</option>
   <option value="30">30</option>
   <option value="31">31</option>
    </select>日    </td>
    <td width="220"></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="713" height="15"></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="45"></td>
    <td width="120"></td>
    <td width="10"><font class="hyzc-6">*</font></td>
    <td width="85" align="right">验证码:</td>
    <td width="112" class="hyzc-1-5">
      <input type="text" name="reauthnum" class="hyzc-1-6" />    </td>
    <td width="74"><img src="images/authimg.png"></td>
    <td width="262"><a href="#" class="hyzc-3">看不清图片</a></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="713" height="20"></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="30"></td>
    <td width="653" height="1" class="hyzc-1-2"></td>
    <td width="30"></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="713" height="20"></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="45"></td>
    <td width="120"></td>
    <td width="15"><font class="hyzc-6">*</font></td>
    <td width="30"><input name="agree" type="checkbox" class="hyzc-1-7" value="1" checked="checked" onclick="isallow_jewellry()"/></td>
    <td width="503">我已经看过并同意<a href="#" class="hyzc-1-8">《人民在线论坛网络服务使用协议》</a></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="713" height="15"></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="45"></td>
    <td width="110"></td>
    <td width="558"><textarea name="textarea" class="hyzc-1-9" readonly="readonly">
</textarea></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="713" height="40"></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="45"></td>
    <td width="240"></td>
    <td><input type="submit" name="submit" value="提交确认" tabindex="1" onclick='javascript:return checksignup()'></td>
    <td width="4" class="hyzc-7"></td>

  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="713" height="40"></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" align="center">
  <tr>
    <td class="wn_login_02_06"></td>
  </tr>
</table>
</form>
</body>
</html>

下面为js文件代码
<script language="javascript" >
//js/common.js
//引用js/css文件;
function include(path,type,title){
 var s,i,t;
 if(arguments.length < 1){
  return ;
 }
 if(arguments.length == 1){
  type = "js";
 }
 switch(type.tolowercase()){
  case "css":
    t = document.getelementsbytagname("link");
    for(i=0;i<t.length;i++){
     if(t[i].href && t[i].href.indexof(path)!=-1){
      return;
     }
    }
    s=document.createelement("link");
    s.rel="alternate stylesheet";
    s.type="text/css";
    s.href=path;
    s.title=title;
    s.disabled=false;
    break;
  case "js":
  case "javascript":
  default:
    t = document.getelementsbytagname("script");
    for(i=0;i<t.length;i++){
     if(t[i].src && t[i].src.indexof(path)!=-1){
      return;
     }
    }
    s=document.createelement("script");
    s.type="text/javascript";
    s.src=path;
   break;
 }
 var h=document.getelementsbytagname("head")[0];
 h.appendchild(s);
}
//字符处理;
//去左右空格;
function trim(s){
  return rtrim(ltrim(s));
}
//去左空格;
function ltrim(s){
  return s.replace( /^s*/, "");
}
//去右空格;
function rtrim(s){
  return s.replace( /s*$/, "");
}
//验证信息;
//空字符值;
function isempty(s){
 s = trim(s);
 return s.length == 0;
}
//email;
function isemail(s){
 s = trim(s);
  var p = /^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.){1,4}[a-z]{2,3}$/i;
  return p.test(s);
}
//数字;
function isnumber(s){
 return !isnan(s);
}
//颜色值;
function iscolor(s){
 s = trim(s);
 if (s.length !=7) return false;
 return s.search(/#[a-fa-f0-9]{6}/) != -1;
}
//手机号码;
function ismobile(s){
 s = trim(s);
 var p = /13d{9}/;
 return p.test(s);
}
//身份证;
function iscard(s){
 s = trim(s);
 var p = /^d{15}(d{2}[xx0-9])?$/;
 return p.test(s);
}
//url;
function isurl(s){
 s = trim(s).tolowercase();
 var p = /^http://[a-za-z0-9]+.[a-za-z0-9]+[/=?%-&_~`@[]':+!]*([^<>""])*$/;
 return p.test(s);
}
//phone;
function isphone(s){
 s = trim(s);
 var p = /^(((d{3}))|(d{3}-))?((0d{2,3})|0d{2,3}-)?[1-9]d{6,7}$/;
 return p.test(s);
}
//zip;
function iszip(s){
 s = trim(s);
 var p = /^[1-9]d{5}$/;
 return p.test(s);
}
//double;
function isdouble(s){
 s = trim(s);
 var p = /^[-+]?d+(.d+)?$/;
 return p.test(s);
}
//integer;
function isinteger(s){
 s = trim(s);
 var p = /^[-+]?d+$/;
 return p.test(s);
}
//english;
function isenglish(s){
 s = trim(s);
 var p = /^[a-za-z]+$/;
 return p.test(s);
}
//中文;
function ischinese(s){
 s = trim(s);
 var p = /^[u0391-uffe5]+$/;
 return p.test(s);
}
//双字节
function isdoublechar(s){
 var p = /^[^x00-xff]+$/;
 return p.test(s);
}
//含有中文字符
function haschinesechar(s){
 var p = /[^x00-xff]/;
 return p.test(s);
}
function hasaccountchar(s){
 var p = /^[a-za-z0-9][a-za-z0-9_-]{0,15}$/;
 return p.test(s);
}
function limitlen(s,min,max){
 s=trim(s);
 if(s=="") return false;
 if((s.length<min)||(s.length>max))
  return false;
 else
  return true;
}
//功能;
//延时事件;
function setdeferevent(type,action,time){
 if (trim(time).length == 0) time = 1;
 if (typeof(time)!="number") time = 1;
 
 switch(type.tolowercase()){
  case "go":
   window.settimeout("window.location='"+ action +"'",time);
   break;
  case "alert":
   window.settimeout("alert('"+ action +"')",time);
   break;
  case "js":
  case "javascript":
   window.settimeout("'"+ action.tostring() +"'",time);
   break;
  default:
   alert("nothing will do!");
   break
 }  
}
function addloadlistener(handler){
 if (typeof window.addeventlistener != 'undefined')
  window.addeventlistener('load', handler, false);
 else if (typeof document.addeventlistener != 'undefined')
  document.addeventlistener('load', handler, false);
 else if (typeof window.attachevent != 'undefined')
  window.attachevent('onload', handler);
};
function addeventlistener(element, eventtype, handler, capture)
{
 try
 {
  if (element.addeventlistener)
   element.addeventlistener(eventtype, handler, capture);
  else if (element.attachevent)
   element.attachevent("on" + eventtype, handler);
 }
 catch (e) {}
};

function removeeventlistener(element, eventtype, handler, capture)
{
 try
 {
  if (element.removeeventlistener)
   element.removeeventlistener(eventtype, handler, capture);
  else if (element.detachevent)
   element.detachevent("on" + eventtype, handler);
 }
 catch (e) {}
};
//image;
function preloadimages(){
 var d = document;
 if(d.images){
  if(!d.p_i_a) d.p_i_a = new array();
  var i,j=d.p_i_a.length,a=arguments;
  for(i=0;i<a.length;i++){
   d.p_i_a[j]= new image();
   d.p_i_a[j++].src = a[i];
  }
 }
}
//ajax功能;
function loadajaxelement(e,u,p,f,l){
 if(arguments.length < 3){
  return ;
 }
 o = $(e);
 o.innerhtml = l;
 p = $h(p).toquerystring();
 new ajax.updater(     
                    {success: e},
                    u,
                    {method: 'get', parameters: p, onfailure: f});
}
function loadajaxdata(u,p,s,f){
 if(arguments.length < 3){
  return ;
 }
 p = $h(p).toquerystring();
 new ajax.request(     
                    u,
                    {method: 'get', parameters: p, onsuccess:s,onfailure: f});
}
function sendajaxelement(e,u,p,f,l){
 if(arguments.length < 3){
  return ;
 }
 o = $(e);
 o.innerhtml = l;
 p = $h(p).toquerystring();
 new ajax.updater(     
                    {success: e},
                    u,
                    {method: 'post', parameters: p, onfailure: f});
}
function sendajaxdata(u,p,s,f){
 if(arguments.length < 3){
  return ;
 }
 p = $h(p).toquerystring();
 new ajax.request(     
                    u,
                    {method: 'post', parameters: p, onsuccess:s,onfailure: f});
}
</script>

<script language="javascript" >
//js/prototype.js
/*
这个文章你可以到jquery官网去下载哦。或到
http://www.111cn.net/js/prototype.js 下载
*/
</script>
<script language="javascript" >
//js/passwordstrength.js
//密码强度;
function passwordstrength(showed){ 
 this.showed = (typeof(showed) == "boolean")?showed:true;
 this.styles = new array(); 
 this.styles[0] = {backgroundcolor:"#ebebeb",borderleft:"solid 1px #ffffff",borderright:"solid 1px #bebebe",borderbottom:"solid 1px #bebebe"}; 
 this.styles[1] = {backgroundcolor:"#ff4545",borderleft:"solid 1px #ffffff",borderright:"solid 1px #bb2b2b",borderbottom:"solid 1px #bb2b2b"};
 this.styles[2] = {backgroundcolor:"#ffd35e",borderleft:"solid 1px #ffffff",borderright:"solid 1px #e9ae10",borderbottom:"solid 1px #e9ae10"};
 this.styles[3] = {backgroundcolor:"#95eb81",borderleft:"solid 1px #ffffff",borderright:"solid 1px #3bbc1b",borderbottom:"solid 1px #3bbc1b"};
 
 this.labels= ["弱","中","强"];

 this.divname = "pwd_div_"+math.ceil(math.random()*100000);
 this.minlen = 6;
 
 this.width = "150px";
 this.height = "16px";
 
 this.content = "";
 
 this.selectedindex = 0;
 
 this.init(); 
}
passwordstrength.prototype.init = function(){
 var s = '<table cellpadding="0" id="'+this.divname+'_table" cellspacing="0" style="width:'+this.width+';height:'+this.height+';">';
 s += '<tr>';
 for(var i=0;i<3;i++){
  s += '<td id="'+this.divname+'_td_'+i+'" width="33%" align="center"><span style="font-size:1px">&nbsp;</span><span id="'+this.divname+'_label_'+i+'" style="display:none;font-family: courier new, courier, mono;font-size: 12px;color: #000000;">'+this.labels[i]+'</span></td>';
 } 
 s += '</tr>';
 s += '</table>';
 this.content = s;
 if(this.showed){
  document.write(s);
  this.copytostyle(this.selectedindex);
 } 
}
passwordstrength.prototype.copytoobject = function(o1,o2){
 for(var i in o1){
  o2[i] = o1[i];
 }
}
passwordstrength.prototype.copytostyle = function(id){
 this.selectedindex = id;
 for(var i=0;i<3;i++){
  if(i == id-1){
   this.$(this.divname+"_label_"+i).style.display = "inline";
  }else{
   this.$(this.divname+"_label_"+i).style.display = "none";
  }
 }
 for(var i=0;i<id;i++){
  this.copytoobject(this.styles[id],this.$(this.divname+"_td_"+i).style);   
 }
 for(;i<3;i++){
  this.copytoobject(this.styles[0],this.$(this.divname+"_td_"+i).style);
 }
}
passwordstrength.prototype.$ = function(s){
 return document.getelementbyid(s);
}
passwordstrength.prototype.setsize = function(w,h){
 this.width = w;
 this.height = h;
}
passwordstrength.prototype.setminlength = function(n){
 if(isnan(n)){
  return ;
 }
 n = number(n);
 if(n>1){
  this.minlength = n;
 }
}
passwordstrength.prototype.setstyles = function(){
 if(arguments.length == 0){
  return ;
 }
 for(var i=0;i<arguments.length && i < 4;i++){
  this.styles[i] = arguments[i];
 }
 this.copytostyle(this.selectedindex);
}
passwordstrength.prototype.write = function(s){
 if(this.showed){
  return ;
 }
 var n = (s == 'string') ? this.$(s) : s;
 if(typeof(n) != "object"){
  return ;
 }
 n.innerhtml = this.content;
 this.copytostyle(this.selectedindex);
}
passwordstrength.prototype.update = function(s){
 if(s.length < this.minlen){
  this.copytostyle(0);
  return;
 }
 var ls = -1;
 if (s.match(/[a-z]/ig)){
  ls++;
 }
 if (s.match(/[0-9]/ig)){
  ls++;
 }
  if (s.match(/(.[^a-z0-9])/ig)){
  ls++;
 }
 if (s.length < 6 && ls > 0){
  ls--;
 }
  switch(ls) {
   case 0:
    this.copytostyle(1);
    break;
   case 1:
    this.copytostyle(2);
    break;
   case 2:
    this.copytostyle(3);
    break;
   default:
    this.copytostyle(0);
  }
}
</script>

//reg.php
<?php

$a="wyjboy";
if($a == "$usr"){
echo 0;
}else{
echo 1;
}
?>

下面这是一款利用php生成验证码程序了,利用了srand随便函数生成并用php gd库的图像函数生成验证图片,再把生成的数据保存到session全局变量。

//调用此页面,如果下面的式子成立,则生成验证码图片

 代码如下 复制代码

if($_get['action']=='verifycode'){
    rand_create();
}
//验证码图片生成
function rand_create(){
    //通知浏览器将要输出png图片

    header('content-type: image/png');

    //准备好随机数发生器种子
    srand((double)microtime()*1000000);
    //准备图片的相关参数
    $im = imagecreate(62,20);
    $black = imagecolorallocate($im, 0,0,0); //rgb黑色标识符
    $white = imagecolorallocate($im, 255,255,255); //rgb白色标识符
    $gray = imagecolorallocate($im, 200,200,200); //rgb灰色标识符
    //开始作图  
    imagefill($im,0,0,$gray);
    while(($randval=rand()%100000)<10000);{
        //将四位整数验证码绘入图片
     session_start();
   $_session['login_check_num'] = $randval;
        imagestring($im, 5, 10, 3, $randval, $black);
    }
    //加入干扰象素
    for($i=0;$i<200;$i++){
        $randcolor = imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));
        imagesetpixel($im, rand()%70 , rand()%30 , $randcolor);
    }
    //输出验证图片
    imagepng($im);
    //销毁图像标识符
    imagedestroy($im);
}
?>


调用方法

 代码如下 复制代码
<img src="code.php?action=verifycode" />

判断验证码是否输入正确

 代码如下 复制代码

<?
if( $_post['code'] == $_session['login_check_num'] )
{
 echo '验证码正确';
}
else
{
 echo '验证码错误';
}

在php中我们有个全局变量$_SERVER[\\\'HTTP_USER_AGENT\\\'];可以获取用户所有信息,我们要经过处理才可以判断用户浏览器是那种型的,下面的函数就可以准确的用户浏览器版本号代码。


function getbrowse()
        {
                $agent = $_server['http_user_agent'];
                $browser = '';
                $browserver = '';
                $browser = array('lynx', 'mosaic', 'aol', 'opera', 'java', 'macweb', 'webexplorer', 'omniweb');
                for($i = 0; $i <= 7; $i ++){
                        if(strpos($agent, $browsers[$i])){
                                $browser = $browsers[$i];
                                $browserver = '';
                        }
                }
                if(ereg('mozilla', $agent) && !ereg('msie', $agent)){
                        $temp = explode('(', $agent);
                        $part = $temp[0];
                        $temp = explode('/', $part);
                        $browserver = $temp[1];
                        $temp = explode(' ', $browserver);
                        $browserver = $temp[0];
                        $browserver = preg_replace('/([d.]+)/', '\1', $browserver);
                        $browserver = $browserver;
                        $browser = 'netscape navigator';
                }
                if(ereg('mozilla', $agent) && ereg('opera', $agent)) {
                        $temp = explode('(', $agent);
                        $part = $temp[1];
                        $temp = explode(')', $part);
                        $browserver = $temp[1];
                        $temp = explode(' ', $browserver);
                        $browserver = $temp[2];
                        $browserver = preg_replace('/([d.]+)/', '\1', $browserver);
                        $browserver = $browserver;
                        $browser = 'opera';
                }
                if(ereg('mozilla', $agent) && ereg('msie', $agent)){
                        $temp = explode('(', $agent);
                        $part = $temp[1];
                        $temp = explode(';', $part);
                        $part = $temp[1];
                        $temp = explode(' ', $part);
                        $browserver = $temp[2];
                        $browserver = preg_replace('/([d.]+)/','\1',$browserver);
                        $browserver = $browserver;
                        $browser = 'internet explorer';
                }
                if($browser != ''){
                        $browseinfo = $browser.' '.$browserver;
                } else {
                        $browseinfo = false;
                }
                return $browseinfo;
        }
 //应用方法
 
 //在ie中
 echo getbrowse(); //internet explorer 6.0
 //在firefox中
 echo getbrowse() ;//netscape navigator 5.0

[!--infotagslink--]

相关文章

  • php中eval()函数操作数组的方法

    在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险了经常会出现一些问题了,今天我们就一起来看看eval函数对数组的操作 例子, <?php $data="array...2016-11-25
  • C#从数据库读取图片并保存的两种方法

    这篇文章主要介绍了C#从数据库读取图片并保存的方法,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下...2021-01-16
  • Python 图片转数组,二进制互转操作

    这篇文章主要介绍了Python 图片转数组,二进制互转操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-09
  • php数组操作 键名比较 差集 交集赋值

    本文章提供在量的数据中级操作实例有如对键名比较计算数组的差集 计算差集 给指定数组中插入一个元素 反转数组 交集赋值新的数组实例。 //定义回调函数 funct...2016-11-25
  • C#二维数组基本用法实例

    这篇文章主要介绍了C#二维数组基本用法,以实例形式分析了C#中二维数组的定义、初始化、遍历及打印等用法,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • php curl模拟post请求和提交多维数组的示例代码

    下面一段代码给大家介绍php curl模拟post请求的示例代码,具体代码如下: <&#63;php$uri = "http://www.cnblogs.com/test.php";//这里换成自己的服务器的地址// 参数数组$data = array ( 'name' => 'tanteng'// 'passwor...2015-11-24
  • C#数组的常用操作方法小结

    Array数组在C#中同样是最基本的数据结构,下面为大家C#数组的常用操作方法小结,皆为细小的代码段,欢迎收看收藏...2020-06-25
  • php把读取xml 文档并转换成json数据代码

    在php中解析xml文档用专门的函数domdocument来处理,把json在php中也有相关的处理函数,我们要把数据xml 数据存到一个数据再用json_encode直接换成json数据就OK了。...2016-11-25
  • C#实现字符串转换成字节数组的简单实现方法

    这篇文章主要介绍了C#实现字符串转换成字节数组的简单实现方法,仅一行代码即可搞定,非常简单实用,需要的朋友可以参考下...2020-06-25
  • C# 拷贝数组的几种方法(总结)

    下面小编就为大家带来一篇C# 拷贝数组的几种方法(总结)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • PHP 二维数组根据某个字段排序的具体实现

    本文记录的要实现的功能类似于 MySQL 中的 ORDER BY,上个项目中有遇到这样的一个需求。 要求:从两个不同的表中获取各自的4条数据,然后整合(array_merge)成一个数组,再根据数据的创建时间降序排序取前4条。 遇到这个...2014-06-07
  • c#将字节数组转成易读的字符串的实现

    这篇文章主要介绍了c#将字节数组转成易读的字符串的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-25
  • C#读取文件所有行到数组的方法

    这篇文章主要介绍了C#读取文件所有行到数组的方法,涉及C#针对文件及数组的相关操作技巧,需要的朋友可以参考下...2020-06-25
  • 将二维数组转为一维数组的2种方法

    如何将下面的二维数组转为一维数组。复制代码 代码如下:$msg = array(  array(    'id'=>'45',    'name'=>'jack'  ),  array(    'id'=>'34',    'name'=>'mary'  ),  array(    'id...2014-05-31
  • c# 对CSV文件操作(写入、读取、修改)

    这篇文章主要介绍了c# 如何对CSV文件操作,帮助大家更好的理解和学习C#,感兴趣的朋友可以了解下...2020-11-03
  • php中数组写入文件方法

    在php中为我们提供了一个函数var_export 他可以直接将php代码入到一个文件中哦。 代码如下 复制代码 var_export($times,true);后面不加tru...2016-11-25
  • python读取和保存mat文件的方法

    本文主要介绍了python读取和保存mat文件的方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-08-25
  • PHP 如何获取二维数组中某个key的集合

    本文为代码分享,也是在工作中看到一些“大牛”的代码,做做分享。 具体是这样的,如下一个二维数组,是从库中读取出来的。 代码清单: 复制代码 代码如下: $user = array( 0 => array( 'id' => 1, 'name' => '张三', 'ema...2014-06-07
  • js有序数组的连接问题

    1.前言 昨天碰到一道关于如何解决有序数组的连接问题,这是一个很常见的问题。但是这里要考虑到代码的效率问题,因为要连接的数组都是有序的,这是一个非常重要的前提条件。2.简单但效率不高的算法 我首先想到的是使用...2013-10-04
  • Android中使用SDcard进行文件的读取方法

    首先如果要在程序中使用sdcard进行存储,我们必须要在AndroidManifset.xml文件进行下面的权限设置: 在AndroidManifest.xml中加入访问SDCard的权限如下: <!--...2016-09-20