php获取复选框的值代码

 更新时间:2016年11月25日 17:29  点击:1964
在php中获取值的方法就是GET与POST命令了,但是如果获取复选框的值稍有一点不错了,下面我来给大家介绍介绍。

因为复选框大多是几个同时存在的,我们都会name[]的名字必须是一个数组的 这样只要获取一个就可以了

 代码如下 复制代码


html代码

<input type="checkbox" name="frm_tag[]" id="frm_tag" value="1">1
<input type="checkbox" name="frm_tag[]" id="frm_tag" value="2">2

处理表单的PHP页面代码:

if(!empty($_POST['sport'])){
    echo('您的选择结果是:');
    for($i=0; $i<count($_POST['form1']);$i++){
          echo($_POST['sport'][$i].'    ');
    }
}

另一种方法

 代码如下 复制代码

<input type="checkbox" name="weeks[]" id="weeks" value=1>
<input type="checkbox" name="weeks[]" id="weeks" value=2>
<input type="checkbox" name="weeks[]" id="weeks" value=3>

直接

$a = $_POST['weeks'] ;//这样得到的就是一个数组了,然后再把它转换成字符即可。

我们还可以用一做排序哦

 代码如下 复制代码

<input name="orderby[78]" type="text" id="ordery" size="5" value="9999" />
<input name="orderby[77]" type="text" id="ordery" size="5" value="999" />
<input name="orderby[76]" type="text" id="ordery" size="5" value="9999" />
<input name="orderby[75]" type="text" id="ordery" size="5" value="99" />
<input name="orderby[74]" type="text" id="ordery" size="5" value="9" />

php处理页面

$aid = $_POST['orderby'];  

foreach( $aid as $v=> $vv )
{
 if( is_numeric( $vv ) )
 {
  //更新排序即可了
 }
   
}

在php中系统自带了文件删除函数unlink,但是此文件只是一个文件删除函数,如果我们要删除指定目录中的文件就需要配合其它方法来操作了,下面我给各位朋友介绍。

删除指定文件夹所有文件

 代码如下 复制代码

$cacheDir = '../cache/runtime';
$dh = opendir($cacheDir);
while ( $file = readdir($dh) ) {

if (($file == '.') || ($file == '..')) { continue; }

if (file_exists( $cacheDir . '/' .$file)) {
if (!unlink($cacheDir . '/' . $file)) {
break;
}
}
}

上面只能删除目录中的文件,不能删除目录中的目录或目录下的文件,我这里既然讲到也给大家提供一个函数

 代码如下 复制代码

function   deltree($dirList){  
  chdir($dirList);  
  $handle=opendir('.');  
  while   (($file=readdir($handle))<>"")   {  
  if(is_file($file))  
  unlink($file);  
  if(is_dir($file)   &&   $file<>"."   &&   $file<>".."){  
  deltree($file);  
  chdir('..');  
  rmdir($file);  
  }  
  }  
  closedir($handle);    
  }  
deltree('test');  

上面使用的是递归遍历目录然后进行删除文件再删除目录了

在php中substr是用来截取字符的,但是有朋友会发现把它来截英文字母是没有任何问题,但是如果截中文时会出现半个汉字乱码了,下面我来介绍一些解决办法。

substr() 函数返回字符串的一部分。

语法

substr(string,start,length)

例子 1

 代码如下 复制代码

<?php
echo substr("Hello world!",6);
?>

输出:

world!

例子2

 代码如下 复制代码

echo substr('中国文',1);

结果就是筹码了,后来才知道中文与英文的区别在于内编码了,一个网站这样说到substr函数在截取字符时是按字节来截取的,中文字符在GB2312编码时为2个字节,utf-8编码时为3个字节,所以截取指定长度的字符串时如果截断了汉字,那么返回的结果显示出来便会出现乱码

解决办法

1、利用mb_substr来截取

 

 代码如下 复制代码

<?php
$str = '这样一来我的字符串就不会有乱码^_^';

echo "mb_substr:" . mb_substr($str, 0, 7, 'utf-8');
//结果:这样一来我的字
echo "<br>";

echo "mb_strcut:" . mb_strcut($str, 0, 6, 'utf-8');
//结果:这样
?>

但是如果要使用mb_substr截取我们需要使用使用mbstring扩展库,如果没有权限的朋友我们就可参考下面函数

 代码如下 复制代码

function msubstr($str, $start, $len) {
  $tmpstr = "";
  $strlen = $start + $len;
  for($i = 0; $i < $strlen; $i++) {
   if(ord(substr($str, $i, 1)) > 0xa0) {
    $tmpstr .= substr($str, $i, 2);
    $i++;
   } else
    $tmpstr .= substr($str, $i, 1);
  }
  return $tmpstr;
 }

一篇简单的php中正则匹配用户密码实现程序,密码形式可以根据开发需求自己设定,下面是几个匹配密码的,有需要的朋友可参考

例1

 代码如下 复制代码

<?php
//密码验证
$password = "zongzi_Abc_oo13a2";
$n = preg_match_all("/^[a-zA-Zd_]{8,}$/",$password,$array);
//长度是8或更多
var_dump($array);
?>

其它规则这里就不举例了大家可直接参阅

 例子:

正则表达式
^[a-zA-Z]w{5,17}$
匹配 以字母开头,长度在6~18之间,只能包含字符、数字和下划线
不匹配  

正则表达式
^(?=.*d)(?=.*[a-z])(?=.*[A-Z])(?!.*s).{4,8}$
匹配 1agdA*$# | 1agdA*$# | 1agdA*$#
不匹配 wyrn%@*&amp;$# f | mbndkfh782 | BNfhjdhfjd&amp;*)%#$)
 
正则表达式
[^A-Za-z0-9]
匹配 !@#$ | %^&amp;* | '&gt;&lt;?.,&quot;
不匹配 ABC123abc | abc123ABC | abc0132ABC

正则表达式
Password=&quot;({.+}[0-9a-zA-Z]+[=]*|[0-9a-zA-Z]+)&quot;
匹配 !@#$ | %^&amp;* | '&gt;&lt;?.,&quot;
不匹配 ABC123abc | abc123ABC | abc0132ABC

正则表达式
(?-i)(?=^.{8,}$)((?!.*s)(?=.*[A-Z])(?=.*[a-z]))(?=(1)(?=.*d)|.*[^A-Za-z0-9])^.*$
匹配 a3dAbed. | P@ssword1 | aB_1bbbb | myPassw0rd!
不匹配 password | password12 | password__12 | p@ssw0rd

有很多朋友下载文件时都是把中文名转换在英文或全数字的然后再进行下载,下面我来介绍直接利用中文文件名文件下载并且不出现乱码的解决办法。

 代码如下 复制代码

<?php
$filename = "中文 文件名.txt";
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . $filename);
print "Hello!";
?>

把程序保存成UTF-8编码再访问,IE6下载的文件名就会乱码。 FF3下下载的文件名就只有“中文”两个字。Opera 9下一切正常。

输出的header实际上是这样子:

 代码如下 复制代码
Content-Disposition: attachment; filename=中文 文件名.txt其实按照RFC2231的定义, 多语言编码的Content-Disposition

应该这么定义:

 代码如下 复制代码
Content-Disposition: attachment; filename*="utf8''%E4%B8%AD%E6%96%87%20%E6%96%87%E4%BB%B6%E5%90%8D.txt"

即:

filename后面的等号之前要加 *
filename的值用单引号分成三段,分别是字符集(utf8)、语言(空)和urlencode过的文件名。
最好加上双引号,否则文件名中空格后面的部分在Firefox中显示不出来
注意urlencode的结果与php的urlencode函数结果不太相同,php的urlencode会把空格替换成+,而这里需要替换成%20


例1

 代码如下 复制代码

<?php
    $file = "/tmp/中文名.tar.gz";

    $filename = basename($file);

    header("Content-type: application/octet-stream");

    //处理中文文件名
    $ua = $_SERVER["HTTP_USER_AGENT"];
    $encoded_filename = urlencode($filename);
    $encoded_filename = str_replace("+", "%20", $encoded_filename);
    if (preg_match("/MSIE/", $ua)) {
     header('Content-Disposition: attachment; filename="' . $encoded_filename . '"');
    } else if (preg_match("/Firefox/", $ua)) {
     header("Content-Disposition: attachment; filename*="utf8''" . $filename . '"');
    } else {
     header('Content-Disposition: attachment; filename="' . $filename . '"');
    }

    header('Content-Disposition: attachment; filename="' . $filename . '"');
    header("Content-Length: ". filesize($file));
    readfile($file);
?>

这样我们就完全解决了中文文名乱码这个问题了。

[!--infotagslink--]

相关文章

  • PHP成员变量获取对比(类成员变量)

    下面本文章来给大家介绍在php中成员变量的一些对比了,文章举了四个例子在这例子中分别对不同成员变量进行测试与获取操作,下面一起来看看。 有如下4个代码示例,你认...2016-11-25
  • php 获取用户IP与IE信息程序

    php 获取用户IP与IE信息程序 function onlineip() { global $_SERVER; if(getenv('HTTP_CLIENT_IP')) { $onlineip = getenv('HTTP_CLIENT_IP');...2016-11-25
  • php获取一个文件夹的mtime的程序

    php获取一个文件夹的mtime的程序了,这个就是时间问题了,对于这个问题我们来看小编整理的几个例子,具体的操作例子如下所示。 php很容易获取到一个文件夹的mtime,可以...2016-11-25
  • 不打开网页直接查看网站的源代码

      有一种方法,可以不打开网站而直接查看到这个网站的源代码..   这样可以有效地防止误入恶意网站...   在浏览器地址栏输入:   view-source:http://...2016-09-20
  • 如何获取网站icon有哪些可行的方法

    获取网站icon,常用最简单的方法就是通过website/favicon.ico来获取,不过由于很多网站都是在页面里面设置favicon,所以此方法很多情况都不可用。 更好的办法是通过google提供的服务来实现:http://www.google.com/s2/favi...2014-06-07
  • php 调用goolge地图代码

    <?php require('path.inc.php'); header('content-Type: text/html; charset=utf-8'); $borough_id = intval($_GET['id']); if(!$borough_id){ echo ' ...2016-11-25
  • JS基于Mootools实现的个性菜单效果代码

    本文实例讲述了JS基于Mootools实现的个性菜单效果代码。分享给大家供大家参考,具体如下:这里演示基于Mootools做的带动画的垂直型菜单,是一个初学者写的,用来学习Mootools的使用有帮助,下载时请注意要将外部引用的mootools...2015-10-23
  • jquery如何获取元素的滚动条高度等实现代码

    主要功能:获取浏览器显示区域(可视区域)的高度 : $(window).height(); 获取浏览器显示区域(可视区域)的宽度 :$(window).width(); 获取页面的文档高度 $(document).height(); 获取页面的文档宽度 :$(document).width();...2015-10-21
  • JS实现自定义简单网页软键盘效果代码

    本文实例讲述了JS实现自定义简单网页软键盘效果。分享给大家供大家参考,具体如下:这是一款自定义的简单点的网页软键盘,没有使用任何控件,仅是为了练习JavaScript编写水平,安全性方面没有过多考虑,有顾虑的可以不用,目的是学...2015-11-08
  • JS+CSS实现分类动态选择及移动功能效果代码

    本文实例讲述了JS+CSS实现分类动态选择及移动功能效果代码。分享给大家供大家参考,具体如下:这是一个类似选项卡功能的选择插件,与普通的TAb区别是加入了动画效果,多用于商品类网站,用作商品分类功能,不过其它网站也可以用,...2015-10-21
  • php 取除连续空格与换行代码

    php 取除连续空格与换行代码,这些我们都用到str_replace与正则函数 第一种: $content=str_replace("n","",$content); echo $content; 第二种: $content=preg_replac...2016-11-25
  • php简单用户登陆程序代码

    php简单用户登陆程序代码 这些教程很对初学者来讲是很有用的哦,这款就下面这一点点代码了哦。 <center> <p>&nbsp;</p> <p>&nbsp;</p> <form name="form1...2016-11-25
  • PHP实现清除wordpress里恶意代码

    公司一些wordpress网站由于下载的插件存在恶意代码,导致整个服务器所有网站PHP文件都存在恶意代码,就写了个简单的脚本清除。恶意代码示例...2015-10-23
  • jquery获取div距离窗口和父级dv的距离示例

    jquery中jquery.offset().top / left用于获取div距离窗口的距离,jquery.position().top / left 用于获取距离父级div的距离(必须是绝对定位的div)。 (1)先介绍jquery.offset().top / left css: 复制代码 代码如下: *{ mar...2013-10-13
  • JS实现双击屏幕滚动效果代码

    本文实例讲述了JS实现双击屏幕滚动效果代码。分享给大家供大家参考,具体如下:这里演示双击滚屏效果代码的实现方法,不知道有觉得有用处的没,现在网上还有很多还在用这个特效的呢,代码分享给大家吧。运行效果截图如下:在线演...2015-10-30
  • Jquery 获取指定标签的对象及属性的设置与移除

    1、先讲讲JQuery的概念,JQuery首先是由一个 America 的叫什么 John Resig的人创建的,后来又很多的JS高手也加入了这个团队。其实 JQuery是一个JavaScript的类库,这个类库集合了很多功能方法,利用类库你可以用简单的一些代...2014-05-31
  • js识别uc浏览器的代码

    其实挺简单的就是if(navigator.userAgent.indexOf('UCBrowser') > -1) {alert("uc浏览器");}else{//不是uc浏览器执行的操作}如果想测试某个浏览器的特征可以通过如下方法获取JS获取浏览器信息 浏览器代码名称:navigator...2015-11-08
  • JS日期加减,日期运算代码

    一、日期减去天数等于第二个日期function cc(dd,dadd){//可以加上错误处理var a = new Date(dd)a = a.valueOf()a = a - dadd * 24 * 60 * 60 * 1000a = new Date(a)alert(a.getFullYear() + "年" + (a.getMonth() +...2015-11-08
  • PHP开发微信支付的代码分享

    微信支付,即便交了保证金,你还是处理测试阶段,不能正式发布。必须到你通过程序测试提交订单、发货通知等数据到微信的系统中,才能申请发布。然后,因为在微信中是通过JS方式调用API,必须在微信后台设置支付授权目录,而且要到...2014-05-31
  • PHP常用的小程序代码段

    本文实例讲述了PHP常用的小程序代码段。分享给大家供大家参考,具体如下:1.计算两个时间的相差几天$startdate=strtotime("2009-12-09");$enddate=strtotime("2009-12-05");上面的php时间日期函数strtotime已经把字符串...2015-11-24