Nginx服务器下使Thinkphp URL模式支持PATHINFO模式和REWRITE模式

Nginx服务器下使Thinkphp URL模式支持PATHINFO模式和REWRITE模式
默认nginx服务器是不识别pathinfo模式和rewrite模式的路由的,下面我们做一些配置,让nginx服务器支持这些路由模式 PATHINFO 找到location ~ \.php {         #\.php$ 里面的$去掉,并在里面加上下面两句      fastcgi_split_path_info ^(.+\.php)(.*)$;     #增加   fastcgi_param...

thinkphp 如何进行SQL区间查询

thinkphp 如何进行SQL区间查询
如果是正常的SQL语句的话,我们直接使用and这样的语句就可以进行区间查询,但TP有自己的SQL查询语言,也就是大于 gt 和小于 lt,所以正常的区间查询就是使用 gt 和 lt 了,但我们平时只使用一个,如何同时使用这两个来进行某个字段的查询呢。 我们假设要查询 id 大于 5 并且 id 小于 10,应该如何查询呢,如下所示: $map['id'] = array(array('gt',5),array('lt',10)) ; 如果要查其它字段的区间,就更改 i...

thinkphp 自带验证码的简单使用

thinkphp 自带验证码的简单使用
在TP的项目中要加一个验证码的验证,TP自带有验证码的功能,我们仅需要调用一下就可以了,不用自己去写一大堆的代码,我们直接在C层生成就可以了,当然放在 D 层也是可以的,代码不多,我就直接放在 C 控制器层了,如下代码: /**   * 获取验证码   */   public function get_verify(){       ob_clean();   &nb...

thinkphp 去重数据distinct的使用方法

thinkphp 去重数据distinct的使用方法
记得以前的时候使用过thinkphp的去重函数,可惜时间有点长了,忘记怎么用了,这不,最近要统计一个数据表里的人数,而且有重复数据,比如有一个用户member_id字段占了两条数据,但只要统计一条出来,其实这样的统计直接使用thinkphp中的distinct方法就可以了,很好使。 这里简单来放一个例子出来。 $test_data = M('User'); //实例化数据表 $data = $test_data->Distinct(true)->field('member_id')->orde...

thinkphp二维数组按照特定字段重新排序

thinkphp二维数组按照特定字段重新排序
使用thinkphp从数据库中select出来的二维数组,需要按照数组库中某个特定字段进行重新排序,也就是给app提供一个接口,返回一个二维数组的值,这个二维数组需要重新排列一下,我们知道thinkphp是按照id默认排序的,而排序需要我们后台自己更改,所以就有了按照某个特定值重新排序,然后返回给接口。 查询了一下php手册,没有发现太好的函数,只好从tp官网找寻了一个函数方法,很好用,代码如下: /**&nb...

phpexcel文本格式

phpexcel文本格式
解决 PHPExcel 长数字串显示为科学计数 在excel中如果在一个默认的格中输入或复制超长数字字符串,它会显示为科学计算法,例如身份证号码,解决方法是把表格设置文本格式或在输入前加一个单引号。 使用PHPExcel来生成excel,也会遇到同样的问题,解决方法有三种: 1、设置单元格为文本 $objPHPExcel = new PHPExcel();   $objPHPExcel->setActiveSheetIndex(0);  ...

ThinkPHP开启设置子域名笔记

ThinkPHP开启设置子域名笔记
一、ThinkPHP框架里 common下的config文件 'APP_SUB_DOMAIN_DEPLOY' => 1, // 开启子域名配置   'APP_SUB_DOMAIN_RULES' => array(   'doctor' => 'Doctor', // doctor域名指向Doctor模块   ),   二、apache httpd.config 开启 Include conf/extra/httpd-vhosts.conf 三、httpd-vhosts.conf 添...

thinkphp导出excel的完整实例

thinkphp导出excel的完整实例
最近在thinkphp 3.2.3 版本下做一个导出mysql数据到excel的功能,当然首先想到的是phpexcel了,在 thinkphp 3.2.3版本下,我们知道thinkphp启用了命名空间,而我直接使用了老版thinkphp中导出excel的代码,可是错误百出,老是出各种问题,然后从网上找了一个适合 thinkphp 3.2.3 导出excel的代码,简单修改一下,即可完美使用。    //导出 xlsx文件      ...

thinkphp开发中你需要注意的一些小问题

thinkphp开发中你需要注意的一些小问题
本篇包含前端和后台,是博主在实际开发中遇到的一些“本应该是这样却不是这样的问题”: 一、checkbox设置勾选: $(...).attr("checked","checked");   但是并没有效果,这时候应该使用: $(...).prop ("checked","checked");   二、很多人判断一条sql是否执行成功,喜欢用下面的语句: $result = M(“user”)->where('uid = 2')->setField('email'...

Thinkphp如何查询某一个表的某个字段值

Thinkphp如何查询某一个表的某个字段值
其实在Thinkphp中查询某一个指定表的某一个字段值是很容易的事情,只是突然间忘记了,而我的EPP编辑器也出现问题了,没有代码提示了,也懒得重启了,看了一下thinkphp手册,找到了 getField,这个字段就是用于查询某个字段的值,比如我要查询Member会员表中的名字,而其它字段都不需要查询,就可以使用 getField 就可以了。 getField在实战中使用还是比较频繁的,默认返回一个指定字段值,代码如下: $Us...

Thinkphp如何实现简单验证码

Thinkphp如何实现简单验证码
使用Thinkphp开发了一个代理商管理系统,而在前端给的模型当中,是需要添加一个简单验证码的,而在Thinkphp中是不需要引入外部类的,Thinkphp自带了验证码的类,我们只需要调用就可以了,所以在Thinkphp中实现验证码是较为简单的。 首先写控制器 Controller,如下代码: <?php     namespace Home\Controller;     use Think\Controller; &nb...

关于thinkphp中redis增删改查的操作

关于thinkphp中redis增删改查的操作
项目里面早就已经使用了redis的技术,本来早就想简单总结一下,苦于一直没有时间去做这件事情,今天把简单的redis作为一个笔记记录一下,这里仅限于自己查阅资料,之前在夏日博客里面已经写了redis在thinkphp里面的配置,配置好之后,我们还需要写一个关于redis缓存的类,这个类网上有许多成型的,直接下载下来就可以了,这里不再阐述了,回头有时间的话,再来分享类文件。 之前分享的redis分享文件:https...

nginx如何配置兼容ThinkPHP各种url模式

nginx如何配置兼容ThinkPHP各种url模式
我们知道ThinkPHP是有多种访问模式的,比如较常用的普通模式以及rewrite模式,也就是网址 /index.php?m=Zhonglian&c=Index&a=register 以及 网址 /DailiUser/alipay_notify_url,这两种模式用得比较多了。 为什么要做多种兼容呢,因为最近做了支付宝的回调,而支付宝是不认第一种模式的,只能使用 rewrite 模式,而我本地使用的是 nginx 服务器,所以需要在 nginx里面去做一下兼容配置了,配置的方法也很简...

ThinkPHP读出不重复的列表

ThinkPHP读出不重复的列表
Thinkphp去除重复的数据,找了半天的手册以及搜索了许多的资料都没有能够解决,本来想到先把读取的列表转化成数组,然后从数组里面去剔除,但是也比较麻烦,因为目前需要做一个区域人数的计算,也就是把重复的数据显示给去除掉,最后的解决还是在CDSN上面遇到大神给解决了。 Thinkphp一共提供了两个函数,一个是 distinct,一个是 group,其中使用 group实现了计算不重复数据的功能。 1 去除重复数据 disti...

Thinkphp使用setField更新多个字段

Thinkphp使用setField更新多个字段
在使用 Thinkphp中,setField是使用较多的一个函数,我通常是使用这个函数来更新单个字段的,非常好用,这天突然想到能否使用 setField更新多个指定字段,当然更新多个字段的话还是建议使用 save,这里仅为学习一下setField 的多个用法。 先看一下setField单个字段的更新,就很简单了,如下: public function update(){       header("Content-Type:text/html;...

thinkphp返回Json的数据格式

thinkphp返回Json的数据格式
最近一直在写app的接口,我们知道用php写接口文件,基本上返回给服务端都是 Json 数据了,因为这样的数据使用 Js 更好处理一些,通常情况下,app端使用什么文件,我们直接写控制层或者是model层实现相应的功能,然后再json过去就ok了。 今天竟然发现tp自带有可以返回json数据的功能,虽然暂时用不到,但还是先记录一下吧。 thinkphp返回Json数据格式: //编写类方法用$this->ajaxReturn()返回数据&nbs...

ThinkPHP访问不存在的模块跳到404页面

ThinkPHP访问不存在的模块跳到404页面
我们来介绍一下关于ThinkPHP访问不存在的模块跳到404页面,有需要的朋友可参考参考,在ACTION中新建一个文件EmptyAction.class.php,文件中的代码如下: <?php     class EmptyAction extends Action{        function _empty(){            header("HTTP/1.0 ...

thinkphp3.2.3 redis缓存配置

thinkphp3.2.3 redis缓存配置
在thinkphp3.2中配置redis还是比较简单的,目前项目已经全面支持redis了,查看redis缓存文件使用的是 RedisStudio-en-0.1.5 工具,很方便,可以查看目前已经缓存了的数据,这里主要看一下redis在tp的入口文件是怎样配置的。 在thinkphp中需要使用到redis缓存,那么我们需要先做准备工作. 1.获取redis缓存驱动,要求安装phpredis扩展:http://github.com/nicolasff/phpredis. 2.在conf配置参数:  //Red...

windows7环境下配置php和redis

windows7环境下配置php和redis
redis 是大数据处理读写分离必须要会的一个技术,在服务器以及TP框架中配置好之后,当然也是需要在本地配置的,毕竟我们还要在本地测试数据,我本地的环境是 php 5.6+nginx,windows 7 64位,首先是需要下载php的dll扩展文件,不同的环境对应的redis扩展是不一样的,这个扩展是比较难找的。 先找到PHP REDIS扩展,扩展百度网盘下载地址:https://pan.baidu.com/s/1kVIf5Wz 先载好之后,打开 php 安装目录,...

ThinkPHP3.2.3配置redis的示例

ThinkPHP3.2.3配置redis的示例
ThinkPHP框架是支持多种缓存功能的,比如TP系统所支持的 File,Apachenote,Apc,Eaccelerator,Xcache,Memcache 等等,当然,在TP的入口文件我们还可以配置 redis 缓存方式,TP对于缓存的支持是很不错的,使用缓存主要是为了提高应用的速度性,除了使用 Memcache或者redis这类的缓存来通过加速网页的加载速度之外,我们还可以通过使用mysql优化索引来提高速度,各种方法吧,本篇文章主要研究redis在TP入口文件...