php总结
moqiang02
这个作者很懒,什么都没留下…
展开
-
php时间戳存在8小时误差
当将PHP时间戳转化为正常的时间格式一般的操作方法如下:$mytime=time();echo $mytime.'';echo date('Y-m-d H:i:s',$mytime);这样做的后果就是前后相差了8个小时,主要原因是php5.1以上时间戳会与实际时间相差8小时解决办法如下:1、最简单的方法就是不要用php5.1以上的版本--显然这是不可取的转载 2014-06-17 22:02:39 · 4829 阅读 · 1 评论 -
php获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法
php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法,主要使用到了 php 的时间函数 mktime。下面首先还是直奔主题以示例说明如何使用 mktime 获取今日、昨日、上周、本月的起始时间戳和结束时间戳,然后在介绍一下 mktime 函数作用和用法。查看代码打印01//php获取今日开始时间戳和结束时间戳转载 2014-08-12 16:07:28 · 608 阅读 · 0 评论 -
php二维数组排序方法(array_multisort usort)
一维数组排序可以使用asort、ksort等一些方法进程排序,相对来说比较简单。二维数组的排序怎么实现呢?使用array_multisort和usort可以实现转载 2014-08-27 06:48:41 · 720 阅读 · 0 评论 -
对二维数组的某一字段求和
方法一:array_sum(array_map(create_function('$val', 'return $val["size"];'), $arr));方法二:array_sum(array_map(function($val){return $val['size'];}, $arr));对于windows系统,这两种方法均可用。对于Linux系统,只有方法一可用,如果是方原创 2014-08-27 21:29:22 · 6811 阅读 · 0 评论 -
PHP流程控制之goto语句
goto 操作符可以用来跳转到程序中的另一位置。该目标位置可以用目标名称加上冒号来标记,而跳转指令是 goto 之后接上目标位置的标记。PHP 中的 goto 有一定限制,目标位置只能位于同一个文件和作用域,也就是说无法跳出一个函数或类方法,也无法跳入到另一个函数。也无法跳入到任何循环或者 switch 结构中。可以跳出循环或者 switch,通常的用法是用 goto 代替多层的 break。转载 2014-08-27 21:39:29 · 4928 阅读 · 1 评论 -
type='button'和'submit'的区别
今天在对表单的项目进行删除时出现了问题,原因就出现在点击input按钮时,这个input属性是type='button'还是type=‘submit'。代码大致如下://获得选中文件的文件名function GetCheckfolderItem(){ var allSel=''; if(document.form1.deleteid.value) return docum原创 2013-11-21 16:09:05 · 3243 阅读 · 0 评论 -
为什么一段时间后网站后台自动退出 php中session过期时间设置
修改php配置文件中的session.gc_maxlifetime。如果想了解更多session回收机制,继续阅读。(本文环境php5.2)概述:每一次php请求,会有1/100的概率(默认值)触发“session回收”。如果“session回收”发生,那就会检查/tmp/sess_*的文件,如果最后的修改时间到现在超过了1440秒(gc_maxlifetime的值),就将其删除,意味着这转载 2014-09-03 07:50:51 · 4238 阅读 · 0 评论 -
把一维数组合并成二维数组
描述:$name数组是3个人的名字,$age数组的元素分别对应3个人的年龄,希望合并后的数组$user,它的每一个元素都是一条独立的个人信息。<?php$name = array('andy','beer','candy');$age = array(22,13,32);$user = array();foreach ($name as $k => $v) { $temp = a原创 2014-10-24 16:51:28 · 3754 阅读 · 0 评论 -
assert函数的用法
assert这个函数在php语言中是用来判断一个表达式是否成立。返回true or false;例如$s = 123;assert("is_int($s)");?>从这个例子可以看到字符串参数会被执行,这跟eval()类似。不过eval($code_str)只是执行符合php编码规范的$code_str。assert的用法却更详细一点。assert_opti转载 2014-10-26 20:16:56 · 2095 阅读 · 0 评论 -
session_start()导致history.go(-1)返回时无法保存表单数据的解决方法
问题背景:在填写完表单提交时,由于某个表单项可能填写的不合法,导致提交失败,返回表单页面。但返回后所有的表单都被清空了,重新填写比较麻烦,度娘解释说,是由于每个页面都调用了session_start()的原因,在js返回上一页时,不能保存住表单信息。解决方法:在公共初始化文件的session_start()之后加入一句:header('cache-control:private转载 2014-10-27 07:15:59 · 2191 阅读 · 0 评论 -
php 中全局变量global 的使用
简介即使开发一个新的大型PHP程序,你也不可避免的要使用到全局数据,因为有些数据是需要用到你的代码的不同部分的。一些常见的全局数据有:程序设定类、数 据库连接类、用户资料等等。有很多方法能够使这些数据成为全局数据,其中最常用的就是使用“global”关键字申明,稍后在文章中我们会具体的讲解到。使用“global”关键字来申明全局数据的唯一缺点就是它事实上是一种非常差的编程方式,而且经常转载 2014-09-08 20:02:07 · 540 阅读 · 0 评论 -
用PHP实现同一个帐号不允许同时登陆,只允许一个帐号登录?
数据库表 user_login_info字段:id,user_ip,user_id,last_access_timeuser_id 做唯一性索引1. 用户登录后如果没有当前用户的数据,插入一条数据,user_ip(用户机器的IP),user_id(用户ID),last_access_time(当前登录时间)如果已经存在,则更新 user_ip,last_access_time转载 2014-09-08 12:21:44 · 10547 阅读 · 2 评论 -
PHP的时间函数strtotime
时间加减 [php] view plaincopy//获取本地 提取年份+1 $date=date("Y-m-d",mktime(0,0,0,date("m") ,date("d"),date("Y")+1)); ?> 如果要获取数据库中的时间应该如何处理呢?在PHP文档中找到了一个很好的函数strtotime,可以对时间转载 2014-06-18 07:36:33 · 893 阅读 · 0 评论 -
php 自带加密、解密函数
php 自带的加密函数 不可逆的加密函数为:md5()、crypt()md5() 用来计算 MD5 哈稀。语法为:string md5(string str);crypt() 将字符串用 UNIX 的标准加密 DES 模块加密。这是单向的加密函数,无法解密。欲比对字符串,将已加密的字符串的头二个字符放在 salt 的参数中,再比对加密后的字符串。语法为:string crypt(str转载 2013-12-02 11:01:04 · 9013 阅读 · 0 评论 -
使用PHP导入和导出CSV文件
项目开发中,很多时候要将外部CSV文件导入到数据库中或者将数据导出为CSV文件,那么具体该如何实现呢?本文将使用PHP并结合mysql,实现了CSV格式数据的导入和导出功能。下载源码我们先准备mysql数据表,假设项目中有一张记录学生信息的表student,并有id,name,sex,age分别记录学生的姓名、性别、年龄等信息。 CREATE TABLE `student` (转载 2014-07-13 16:26:55 · 579 阅读 · 0 评论 -
使用PHP导入Excel和导出数据为Excel文件
有时需要将Excel表格的数据导入到mysql数据库中,我们使用PHP的一个开源项目PHP-ExcelReader可以轻松实现Excel的导入。另外将mysql数据导出为Excel与本站上篇文章中导出CSV一样,只是将逗号分割符换成制表符,并修改header信息就可以了。下载源码本文中,我们沿用本站文章:使用PHP导入和导出CSV文件 中实例的数据表以及html。1、导入XLS转载 2014-07-13 17:11:51 · 750 阅读 · 0 评论 -
数组和json的相互转换
json_encode()<?php/*****一维数组*********///有键$arr = array( 'a'=>1, 'b'=>2, 'c'=>3,);$json = json_encode($arr);echo($json); //{"a":1,"b":2,"c":3}//无键$arr = array(1,2,3);$json = json_enco原创 2014-08-06 19:25:29 · 3227 阅读 · 0 评论 -
php锁定文本框内容的方法
有时候我们希望表单中的文本框是只读的,让用户不能修改其中的信息,如 的内容,"中国"两个字不可以修改,有三种方法。方法1: onfocus=this.blur() 方法2:readonly 方法3: disabled特别说明:使用disabled属性的话,那么提交表单时无法获得该标签的数据,即提交表单后,input1变量的值为空!原创 2013-11-15 15:20:55 · 2110 阅读 · 0 评论 -
PHP引用(&)使用详解
官方文档:引用是什么:http://www.php.net/manual/zh/language.references.whatare.php引用做什么:http://www.php.net/manual/zh/language.references.whatdo.php引用传递:http://www.php.net/manual/zh/language.references.pass.p转载 2014-09-08 17:35:18 · 685 阅读 · 0 评论 -
PHP中break及continue两个流程控制指令解析
<?php$arr = array( 'a' => '0a0', 'b' => '0b0', 'c' => '0c0', 'd' => '0d0', 'e' => '0e0',);//********break********////用来跳出目前执行的循环,并不再继续执行循环了。 foreach($arr as $k => $v){ if($k == 'c'){ bre原创 2014-08-23 21:09:33 · 704 阅读 · 0 评论 -
实现统计某个月内每天新增用户数的方法
现在有一个需求:管理员选择某一个月份,然后显示这个月每天的新增用户数。首先获得管理员选择的日期,然后获得本月的起始时间戳和结束时间戳,在通过和member表中的addtime字段进行比较,从而获得当月新增的用户列表,这个是不难实现的。那么要怎么获得每日的新增用户数量呢?如果要用select count(1) 这样的语句配合addtime>=begin_time+86400 and addt原创 2014-08-25 07:55:36 · 7832 阅读 · 0 评论 -
修复PHP支持的标准JSON数据格式
PHP的json_decode无法解析的JSON数据,代码如下:$json = "{rst:5,c:[ [1018485,2,0,0,0,0,'','0-0','','',2,0,2],[1049809,17,0,0,0,0,'','','','',1,0,1],[1049813,17,0,0,0,0,'','','','',1,0,1],[1049810,17,0,0,0,0,'',''转载 2014-10-27 06:51:01 · 1769 阅读 · 0 评论 -
数据库保存session
一般情况下,php.ini里的session.save_handler默认是file,也就是用文件来保存session,这种方式有几个缺点:1、如果单靠session自己的垃圾回收机制,时间久了,保存session的文件会越来越多,影响查找效率;2、对于需要统计同时在线用户的系统,实现起来很不方便;3、分布式系统难以共享session。如果将session.save_handl转载 2014-10-02 11:26:52 · 748 阅读 · 0 评论 -
php中preg正则函数使用
1.preg_match和preg_match_all的区别preg_match和 preg_match_all区别是preg_match只匹配一次。而preg_match_all全部匹配,直到字符串结束。例:<?php//注:正则 /a.+?e/ 是非贪婪模式(因为量词‘+’后面加上了‘?’),如果使用 /a.+?e/U 则变回了贪婪模式preg_match("/a.+?e/","a原创 2014-10-14 07:28:30 · 1071 阅读 · 0 评论 -
php 记住密码自动登录
当我们登录网站管理后台的时候,会有提示说记住登录状态,记住我等这样的提示,这个选项有什么用呢?如果选中了记登录状态后,下次在浏览这个网站后台时就不用在填写用户名和密码了,在去登录了。下面写了一小代码,简单说明一下,自动登录的思想。方法不止一个,下面说一下我的想法。一,用户登录的check//检查用户是否登录function checklogin(){ if (empty($转载 2015-01-28 21:35:34 · 4767 阅读 · 0 评论 -
htmlspecialchars()和htmlspecialchars_decode()
htmlspecialchars()定义和用法htmlspecialchars() 函数把一些预定义的字符转换为 HTML 实体。预定义的字符是:& (和号)成为 &" (双引号)成为 "' (单引号)成为 '> (大于)成为 >实例把预定义的字符 "" (大于)转换为 HTML 实体:<?php$str = "This is so原创 2015-01-11 17:55:32 · 7843 阅读 · 0 评论 -
PHP拾贝
$_SERVER['DOCUMENT_ROOT']指向了web服务器文档树的根。(E:/wamp/www/)**********************************************************************************************************************************************原创 2014-01-20 12:11:05 · 1100 阅读 · 0 评论 -
实例化php类的时候如何传参
当我们实例化一个php类的时候,要怎么传递参数呢?这取决于该类的构造方法。例:person.class.php<?php class person{ var $name; var $color; var $sex; var $age; function __construct($name,$age='',$sex='boy'){ $this->name =原创 2013-11-23 15:27:27 · 9819 阅读 · 0 评论 -
绝对路径和相对路径总结
虽然入门的时候第一个接触的概念就是绝对路径和相对路径,但是在使用的时侯,仍然会出现很多的问题,今天就把以往会犯的错误做一个总结。一、绝对路径概念:是从盘符开始的路径,形如C:\windows\system32\cmd.exe(Windows 系统),LINUX系统中 绝对路径 以“/”为起始 例:/home/user1/abc1.txt在网络中,以http开头的链接都是绝对原创 2013-10-14 18:51:01 · 2002 阅读 · 0 评论 -
php扩展xdebug基本使用
1.获取文件名,行号,函数名xdebug_call_class()<?php function fix_string($a) { echo "Called @ ". xdebug_call_file(). ":". xdebug_call_line(). " fr转载 2015-01-05 22:22:57 · 979 阅读 · 0 评论 -
利用Ajax实现长连接(模拟推送,半长连接)
很多程序都可以通过socket来实现长连接,实现消息的即时推送。但由于http请求一般都是短连接,一次请求结束,就会断开与服务器的连接,服务器不能主动推送数据到客户端,而只能由客户端发起请求,但有些时候,需要在web上实现即时的消息传输,比如即时聊天、股票动态信息等。 在Ajax技术被发掘以前,在网页上实现无刷新的即时聊天,似乎是很困难的事情,但由于Ajax技术的兴起,人们可以进一步来挖转载 2015-01-25 11:17:49 · 3659 阅读 · 0 评论 -
php socket_create undefined的错误解决办法
使用phpwebsocket的时候编译server.php报这个错误。首先在cmd中跳转到server.php的目录下执行php server.php(要在系统环境变量中设置path引用到C:\wamp\bin\php\php5.4.3)报这个错误。根据网上的提示将apache的php.ini的socket和gd2都打开了。在phpinfo()中显示socket为enabled。但是依然报转载 2015-01-25 11:37:44 · 3859 阅读 · 0 评论 -
PHP ServerPush (推送) 技术的探讨
转自:http://blog.163.com/bailin_li/blog/static/17449017920124811524364/需求:我想做个会员站内通知的功能。不想用以前的ajax查询,听说有个推技术。以下文章介绍的不错,来自转载,========================================================================转载 2015-01-25 11:09:03 · 856 阅读 · 0 评论 -
php分页类
<?php class Pages { //分页 //Tcount 总数 //Tpage 每页显示数量 //p 参数 static function multi($Tcount, $Tpage, $p, $url='', $url1='') { $mu = ""; //总页数 $z = ceil($Tcount / $Tpage); $l = 10;原创 2014-12-04 17:50:45 · 658 阅读 · 0 评论 -
WAMPSERVER_集成环境安装PEAR
两种方法安装,第一种go-pear.php安装对PHP版本有要求,建议通过第二种go-pear.phar安装.一. 通过go-pear.php安装PEAR 直接访问 http://pear.php.net/go-pear ,(按Ctrl+S)保存其首页内容为go-pear.php1:go-pear.php存放于PHP安装目录下,如: ======================转载 2014-12-04 14:38:53 · 1855 阅读 · 0 评论 -
PHP实现自动登陆的思路分析
经常在做网站的时候需要用到一周内免登陆,一个月内免登陆这种需求。要实现只能通过cookie来实现了。那具体的实现过程是怎样的呢?1.首先在用户第一次登陆的时候,如果勾选了一周内免登陆,则在登陆操作完成之后,存储一个自动登录的cookie,这个cookie可以是“$value是用户的"id"加一个"随机码"组成的字符串加密处理后的数据”这个随机码是存放在数据库里的用户表里面,作为用户下次转载 2015-01-28 21:53:35 · 1217 阅读 · 0 评论 -
preg_match_all使用实例
<?php$str = <<<EOT 微信公众平台 名称原创 2014-10-14 07:26:20 · 3211 阅读 · 1 评论 -
细说PHP中strlen和mb_strlen的区别
在PHP中,strlen与mb_strlen是求字符串长度的函数,但是对于一些初学者来说,如果不看手册,也许不太清楚其中的区别。下面通过例子,讲解这两者之间的区别。先看例子://测试时文件的编码方式要是UTF8 $str='中文a字1符'; echo strlen($str).'';//14 echo mb_strlen($str,'utf8').'';//6 echo mb_转载 2014-10-14 14:45:05 · 667 阅读 · 0 评论 -
PHP+jQuery实现翻板抽奖(中奖概率算法)
PHP+jQuery实现翻板抽奖转载 2014-07-20 18:20:22 · 2150 阅读 · 0 评论 -
生成有偏随机数据
问题:你想生成随机数字,但又希望这些数字具有某种倾向性,也就是说这些数字出现在某个范围内的概率会比出现在其他范围内的概率更高。例如,你想要根据每个广告活动未展示的剩余数目成比例地推出一系列网页横幅广告。方案:使用如例下所示的pc_rand_weighted()函数。讨论想像一下,如果不使用一个期值为剩余展示数目的数组,而是用一个广告数组,其中每个广告的实际展示次数都与该广告翻译 2014-11-20 10:57:28 · 1255 阅读 · 0 评论