php上传文件问题汇总 2017年02月06日 22 阅读 1.先做个最简单的上传文件复制代码 代码如下:<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body><form action="upload_file.php" method="post"enctype="multipart/form-data"><l...
PHP调试函数和日志记录函数分享 2017年02月06日 22 阅读 网站程序开发过程经常需要调试,发布阶段也需要记录运行日志,方便发现问题和还原事件。这就要求有调试和日志记录功能。下面分别写了用于调试的函数和用于记录错误的函数。使用方法很简单,且自动根据日期生成日志文件:复制代码 代码如下://调试时,多个参数都可以:sysdebug("hello");sysdebug("hello", "tiger is coming now");//错误记录也一样:syserror("error");syserror("error",...
PHP中开启gzip压缩的2种方法 2017年02月06日 23 阅读 网页开启gzip压缩以后,其体积可以减小20%~90%,可以节省下大量的带宽,从而减少页面响应时间,提高用户体验。php配置改法:复制代码 代码如下:zlib.output_compression = On;开启gzip功能zlib.output_compression_level = 4;gzip压缩级别,1~9,建议3~5;zlib.output_handler =;gzip压缩方式,建议注释php文件改法:建议在页面开头写上,可以写到头部公共文件复制...
在Nginx上部署ThinkPHP项目教程 2017年02月06日 20 阅读 前段时间用Apache配合TP开发了一个小型网站,也算是我使用TP的第一次实战。我习惯使用pathinfo模式,本地运行一切正常,然而部署到服务器上时,由于对方使用的是Nginx,默认是不支持ThinkPHP的pathinfo模式,所以导致路径错误,出现了页面循环跳转的问题,于是就把nginx下载下来在本地亲自测试。 其实,要解决nginx不支持pathinfo的问题,有两个解决思路,一是不使用pathinfo模式,二是修改nginx的配置文件,使它支持p...
php递归创建目录的方法 2017年02月06日 22 阅读 本文实例讲述了php递归创建目录的方法,分享给大家供大家参考。具体实现代码如下:<?phpfunction mk_dir($path){ //第1种情况,该目录已经存在 if(is_dir($path)){ return; } //第2种情况,父目录存在,本身不存在 if(is_dir(dirname($path))){ mkdir($path); } //第3种情况,父目录不存在 if(!is_dir(dirname($path))){ m...
php可应用于面包屑导航的递归寻找家谱树实现方法 2017年02月06日 22 阅读 本文实例讲述了php可应用于面包屑导航的递归寻找家谱树实现方法。分享给大家供大家参考。具体实现方法如下:<?phpecho "<pre>";$area = array(array("id"=>1,"area"=>"北京","pid"=>0),array("id"=>2,"area"=>"广西","pid"=>0),array("id"=>3,"area"=>"广东","pid"=&g...
php获取当月最后一天函数分享 2017年02月06日 19 阅读 非常简单实用的函数,这里就不多废话了,直接奉上代码复制代码 代码如下:/** * 日期-获取当月最后一天 * @return int */ public function get_lastday() { if($this->month==2) { $lastday = $this->is_leapyear($this->year) ? 29 : 28; } elseif($this->month==4 || $this-&g...
php计算2个日期的差值函数分享 2017年02月06日 21 阅读 非常简单实用的函数分享给大家,奉上代码:复制代码 代码如下:/** * 日期-计算2个日期的差值 * @return int */ public function get_difference($date, $new_date) { $date = strtotime($date); $new_date = strtotime($new_date); return abs(ceil(($date - $new_date)/86400)); }超级简单,这里...
php截取字符串函数分享 2017年02月06日 22 阅读 经常看到有新手问PHP有没有类似asp的left函数或right函数,实现截取某字符串左边或右边开始N个字符的函数。答案当然是有的。PHP中的substr函数就可以做的到,只不过PHP把二个函数合二为一了,这里再给大家分享一个更加优秀的截取字符串的函数。复制代码 代码如下:/** * 方法库-截取字符串-【该函数作者未知】 * @param string $string 字符串 * @param int $length 字符长度 * @param str...
php数组去除空值函数分享 2017年02月06日 24 阅读 对于一个一维的php数组,如何清除其中值为空的元素呢?直接的办法是foreach循环一下,一个个判断排除。不过这个方法还是略显复杂,下面分享一下今天看到的一个方法,非常简洁复制代码 代码如下:/*** 方法库-数组去除空值* @param string $num 数值* @return string*/public function array_remove_empty(&$arr, $trim = true) { if (!is_array($arr))...
php生成唯一的订单函数分享 2017年02月06日 22 阅读 关于生成订单号的解决方案电子商务及类电子商务的系统越来越多,我相信订单号问题是这类系统中最常见不过的一个问题了,但今天还是想谈谈。这几天由于工作需要接手了另外一同事前期开发的一个交易系统,原本使用的是uniqid()函数生成的。理论上也是不会出现重复,但由于一些特殊的原因,不得不重新制作一款订单号的生成函数复制代码 代码如下:/** * 生成唯一的订单号 20110809111259232312 * 2011-年日期 * 08-月份 * 09-日期 * 1...
php可应用于面包屑导航的迭代寻找家谱树实现方法 2017年02月06日 22 阅读 本文实例讲述了php可应用于面包屑导航的迭代寻找家谱树实现方法。分享给大家供大家参考。具体实现方法如下:<?phpecho "<pre>";$area = array(array("id"=>1,"area"=>"北京","pid"=>0),array("id"=>2,"area"=>"广西","pid"=>0),array("id"=>3,"area"=>"广东","pid"=&g...
php格式化金额函数分享 2017年02月06日 24 阅读 最近的项目在处理资金这一块的功能,对人民币金额的格式化输出是必不可少的功能。这个功能比较独立而且还比较大众化,所以封装成了函数就发上去也算是方便大家。复制代码 代码如下:/*** 格式化金额** @param int $money* @param int $len* @param string $sign* @return string*/function format_money($money, $len=2, $sign="¥"){ $negative...
浅析THINKPHP的addAll支持的最大数据量 2017年02月06日 21 阅读 Thinkphp中的Model操作有两个方法:add()和addAll复制代码 代码如下:$User = M("User"); // 实例化User对象$data["name"] = "ThinkPHP";$data["email"] = "ThinkPHP@gmail.com";$User->add($data);$dataList[] = array("name"=>"thinkphp","email"=>"thinkphp@gami...
php对象在内存中的存在形式分析 2017年02月06日 19 阅读 本文实例分析了php对象在内存中的存在形式。分享给大家供大家参考。具体分析如下:<?phpclass Person{ public $name; public $age;}$p1 = new Person();$p1->name = "小明";$p1->age=80;$p2=$p1;$p2->age=85;echo $p2->name;echo $p1->age;?>(1)$p1对应内存地址,假设是...
PHP、Python和Javascript的装饰器模式对比 2017年02月06日 23 阅读 修饰模式(Decorator Pattern),又叫装饰者模式,是面向对象编程领域中,一种动态地往一个类中添加新的行为的设计模式。就功能而言,修饰模式相比生成子类更为灵活,这样可以给某个对象而不是整个类添加一些功能。装饰模式非常适用于灵活扩展对象的功能,下面是装饰模式的UML图:例如,有一个技术论坛,用户通过留言进行沟通,由于刚开始论坛里都是熟人,几乎都不需要对留言的内容作出审核,接收留言的页面可以是这样:class SaveMsg(){ private ...
php上传文件常见问题总结 2017年02月06日 19 阅读 把php上传文件时经常碰到的几个问题总结一下吧,以后用到时不用再去找了。1.先做个最简单的上传文件复制代码 代码如下:<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body><form action="upload_file.php" method="post"en...
php上传中文文件名乱码问题处理方案 2017年02月06日 22 阅读 php上传文件是最最基础的一个技术点,但是深入进去也有不少问题需要解决,这不,上传中文文件后,文件名变成了乱码。下面是问题代码,很简单:1.问题代码html部分:复制代码 代码如下:<html><body><form action="upload_file.php" method="post"enctype="multipart/form-data"><label for="file">Filename:&l...
四种php中webservice实现的简单架构方法及实例 2017年02月06日 23 阅读 一:PHP本身的SOAP所有的webservice都包括服务端(server)和客户端(client)。要使用php本身的soap首先要把该拓展安装好并且启用。下面看具体的code首先这是服务端实现:复制代码 代码如下:<?php class test { function show() { return "the data you request!"; } } function getUserInfo($name) { retur...
PHP中实现接收多个name相同但Value不相同表单数据实例 2017年02月06日 20 阅读 最近在一个询盘留言管理系统时候一个问题,留言的前台的表单当中出现很多name值相同的input框,这些框是由用户填写的各不相同的值,现在要迁移到php平台上,而且要求不能改变前台的任何表单(因为用到这个表单的网站实在是太多了,所以必须要考虑转移的兼容性,就连form的提交地址也不能变,必须是提交到某个asp页面上)。form提交地址问题,可以用伪静态或其它方法直接解决。由于以前的系统是由asp做的,asp在处理相同name值的表单的时候,是直接用逗号把前台...