ThinkPHP

ThinkPHP3.1.2整合UCenter详解(一)

三世轮回 提交于 2019-12-02 06:53:31
最近应公司的要求,要开发一个有点像QQ空间那样的会员管理中心网站,发现UCenter的很多功能酷似QQ空间,于是选择了UCenter作为程序的会员管理中心。前台嘛就选择我之前基于thinkphp3.1.2框架开发的WBlog好了。但是问题又来了:要求在WBlog前台注册的会员登录时要与UCenter同步,这就是我这次要解决的问题--ThinkPHP与UCenter的整合。 我在网上搜索了一下,thinkphp与UCenter的整合并不少,但是似乎越看越觉得头晕,不是少这就是少那,到头来差之毫厘,谬以千里,真够折腾的。我仔细阅读了UCenter的开发文档后,经过多次的调试,终于完成了thinkphp与UCenter的整合。感觉这个结果是从苦水里泡出来的一样,呵呵。。。现在网菠萝果把整合的记录分享给需要的童鞋。 温馨提示:在thinphp与UCenter整合中,您需要的基本条件是,有一定的PHP基础,对thinphp框架有所了解,会布署目录和配置数据。 好了,我们开始吧! 下载并安装下面的程序 WBlog3.1.2 UCenter_Home_2.0_SC_UTF8 UCenter 1.6.0 安装WBlog博客程序 在写本文之前,已发布的WBlog博客程序还没有会员中心,本次测试的会员中心是后面才写的。如果你能等的话要待我整理好 WBlog 的会员中心程序才发布

一文解读伊对相亲交友app源码功能特色、应用场景

会有一股神秘感。 提交于 2019-12-01 21:36:39
红娘相亲同城交友源码 。 一套完整独立的 同城相亲交友 app 是包含 Android、iOS 双端的 手机相亲交友 平台 ,是融合了语音聊天、视频直播、 一对一视频 ,一对多直播(可设置收费房间),一键约聊、自动匹配、预约功能及短视频拍摄上传系统 、多人聊天源码 cps营销裂变体系等功能,按分钟计时收费聊天方式,支持房间礼物打赏,付费动态及付费小视频查看功能,为平台运营方和主播提供更多的盈利变现方式。 仿伊对 同城相亲 交友 app 开发软件特色及应用场景 1、 同城相亲交友 app 开 发特色 : 视频找对象,红娘在线视频牵线、语音交友,群聊互嗨,恋爱乐翻天、 社区 动态,同城活动,相亲动态全知晓、兴趣群组,缘分相聚,群聊、天生伊对,在线视频相亲。 2、 同城相 亲交友 app 软件应用场景: 陌生人社交、语音聊天交友、游戏陪玩社交 3、同城相亲交友app应用案例: 伊对、牵伴、同城陌约、玩洽、同城热恋、约会吧、红娘视频相亲一对缘。( 程序源码开源,支持二次开发,根据不同应用场景需求,定制个性化解决方案 ) 仿伊对同城交友系统开发软件系统开发语言 1、后台PHP语言 2、Android是Java语言(安卓的开发工具脚本: Android Studio )、IOS是 objective-c.(ios开发脚本工具:xcode) 3、框架是thinkphp5.0版本 php用的5

一文解读伊对相亲交友app源码功能特色、应用场景

安稳与你 提交于 2019-12-01 21:22:18
红娘相亲同城交友源码 。 一套完整独立的 同城相亲交友 app 是包含 Android、iOS 双端的 手机相亲交友 平台 ,是融合了语音聊天、视频直播、 一对一视频 ,一对多直播(可设置收费房间),一键约聊、自动匹配、预约功能及短视频拍摄上传系统 、多人聊天源码 cps营销裂变体系等功能,按分钟计时收费聊天方式,支持房间礼物打赏,付费动态及付费小视频查看功能,为平台运营方和主播提供更多的盈利变现方式。 仿伊对 同城相亲 交友 app 开发软件特色及应用场景 1、 同城相亲交友 app 开 发特色 : 视频找对象,红娘在线视频牵线、语音交友,群聊互嗨,恋爱乐翻天、 社区 动态,同城活动,相亲动态全知晓、兴趣群组,缘分相聚,群聊、天生伊对,在线视频相亲。 2、 同城相 亲交友 app 软件应用场景: 陌生人社交、语音聊天交友、游戏陪玩社交 3、同城相亲交友app应用案例: 伊对、牵伴、同城陌约、玩洽、同城热恋、约会吧、红娘视频相亲一对缘。( 程序源码开源,支持二次开发,根据不同应用场景需求,定制个性化解决方案 ) 仿伊对同城交友系统开发软件系统开发语言 1、后台PHP语言 2、Android是Java语言(安卓的开发工具脚本: Android Studio )、IOS是 objective-c.(ios开发脚本工具:xcode) 3、框架是thinkphp5.0版本 php用的5

thinkphp 分页编码出错 导致第二页分页sql查询乱码

别来无恙 提交于 2019-12-01 21:03:46
点击第二页的时候 url 传值 变为gbk 导致sql 乱码 程序和数据库编码都是utf8. 以下是解决方案。 $keyword = $this->_param('key'); //mb_check_encoding 检查字符串在指定的编码里是否有效 //成功时返回 TRUE , 或者在失败时返回 FALSE 。 //mb_check_encoding([ string $var = NULL [ , string $encoding = mb_ubternal_encoding() ] ] ); if (!mb_check_encoding($keyword, 'utf-8')){ // iconv — 字符串按要求的字符编码来转换 // string iconv (string $in_chatset , string $out_chatset , string $str ) // $in_chatset 输入的字符集 $out_chatset 输出的字符集 $str 要转换的字符串 $keyword = iconv('gbk', 'utf-8', $keyword); } 来源: oschina 链接: https://my.oschina.net/u/1412997/blog/221213

ThinkPHP5.0中Redis的使用和封装

拥有回忆 提交于 2019-12-01 19:50:08
Redis 是一种常用的非关系型数据库,主要用作数据缓存,数据保存形式为 key-value ,键值相互映射.它的数据存储跟 MySQL 不同,它数据存储在内存之中,所以数据读取相对而言很快,用来做高并发非常不错. ThinkPhP5.0 自带了 Redis 扩展,在使用之前先下载 php_redis.dll 网址 http://windows.php.net/downloads/pecl/releases/redis/2.2.7/ ;根据自己windows操作系统选择相应的版本,我自己是系统64位,安装的是 VC2012 所以下载的是 php_redis-2.2.7-5.6-ts-vc11-x64.zip 下载好压缩包之后,把里面的 php_redis.dll 解压到 D:\wamp\bin\php\php5.6.25\ext (根据自己wamp所在的盘自己选择),然后在 php.ini 里面添加 extension=php_redis.dll ,重新启动 apache 就可以了; 下面是我自己测试的代码,可以使用,封装的不多,可以根据自己的需求去动手封装 extend 是 thinkPHP5.0 的扩展类库目录,可以自己定义 namespace My;  //目录我放在thinkphp5.0/extend/My class RedisPackage { protected

ThinkPHP5中如何实现模板完全静态化

隐身守侯 提交于 2019-12-01 01:56:45
模板完全静态化,也就是通过模板完全生成纯静态的网页,相比动态页面和伪静态页面更安全更利于SEO访问更快。相比前二者各有利弊吧,现在稍微对这三种形式的优缺点对比一下,以及在ThinkPHP5项目中实现完全静态化的基本过程。 对比 1. 动态与真静态 页面静态化与动态页的对比,静态没有了SQL和一些后端脚本运行,安全稳定,访问速度快,对SEO友好(网上也有说现在的搜索引擎已经对动态网页的抓取没什么压力了),但是搜索引擎再强大,静态的URL也比动态的后面带问号冒号什么的要好看,不对SEO友好对普通浏览用户者也是友好(好看第一)。但是生成静态页面的弊端,也就是如果一个博客网站,随着文章内容的增多,那生成的页面也不断增多,就算一个html就30几Kb,数量多的情况下也挺耗存储空间,网上也有说频繁生成静态页面化,容易让硬盘出现坏道。这个我的看法是不好测试可以忽略,因为现在多数是使用云服务器或云虚拟主机,那些都不是物理硬件,就算太过碎片导致硬盘损坏,网站也能正常访问的,因为那是云服务器。 2. 真静态与伪静态 这二者的对比看起来像是正统之争,因为大家都知道伪静态还是动态页,只是Apache通过URL重写规则让其变成了像静态网页的样子。主要也是让自己对SEO友好,但是相比真静态多了Apache的步骤,所以也就比较耗费一些服务器的资源。而真静态的缺点上面也说了,在项目中的选择看需求,各有利弊

thinkphp使用链接mssql和sqlserver 数据库

廉价感情. 提交于 2019-11-30 17:53:16
<?php // +---------------------------------------------------------------------- // | ThinkPHP [ WE CAN DO IT JUST THINK ] // +---------------------------------------------------------------------- // | Copyright (c) 2006~2016 http://thinkphp.cn All rights reserved. // +---------------------------------------------------------------------- // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) // +---------------------------------------------------------------------- // | Author: liu21st <liu21st@gmail.com> // +---------------------------------------------------------------------- return

关于ThinkPHP的pathinfo访问模式的解析

本秂侑毒 提交于 2019-11-30 15:56:04
TP的url模式分为四种, 普通0模式 pathinfo 1模式 rewrite 2模式 兼容 3模式 用的比较多的应该是2模式,用于实现url重写伪静态,优化搜索引擎抓取等用途,其实四者的关系是兼容升级的,即后者是前者的增强,且包括前者的功能。 0:普通模式即为大家所熟知的get ? 传参模式domain/operate?arg1=xx&arg2=xx&arg3=xx 1:pathinfo模式是为了让url更为友好,你可以设置 'URL_PATHINFO_DEPR' => ''来控制路径中的分隔符 2:rewrite模式是为了让url进行重写的方式 用的比较多,伪静态的目的嘛,结构全是domain/model/action/operate模式,再设置个URL_HTML_SUFFIX成html,用TP的U函数来一下,一个伪静态就出来了,蜘蛛刷刷的抓呀.... apache开启rewrite模式隐藏index.php的方法很简单: 1.httpd.conf配置文件中加载了mod_rewrite.so模块 LoadModule rewrite_module modules/mod_rewrite.so 2.AllowOverride None 讲None改为 All 在APACHE里面去配置 (注意其他地方的AllowOverride也统统设置为ALL) <Directory>

让nginx支持thinkphp rewrite模式

坚强是说给别人听的谎言 提交于 2019-11-30 15:55:42
Nginx环境 在Nginx低版本中,是不支持PATHINFO的,但是可以通过在Nginx.conf中配置转发规则实现:在nginx配置文件中添加 location / { if ( ! - e $request_filename ) { rewrite ^ ( . * ) $ / index . php ? s = $ 1 last ; break ; } } 其实内部是转发到了ThinkPHP提供的兼容模式的URL,利用这种方式,可以解决其他不支持PATHINFO的WEB服务器环境。 如果你的ThinkPHP安装在二级目录,Nginx的伪静态方法设置如下,其中youdomain是所在的目录名称。 location /youdomain/ { if ( ! - e $request_filename ) { rewrite ^/youdomain/ ( . * ) $ /youdomain/index . php ? s = $ 1 last ; } } 来源: oschina 链接: https://my.oschina.net/u/616928/blog/600501

ThinkPHP5.1路由配置不能匹配问题记录

无人久伴 提交于 2019-11-30 10:15:18
在配置tp5.1的时候发现路由规则没有匹配上, 但是tp5的默认的首页已经出现了,问题应是在nginx的pathInfo支持上 环境: docker+ php7.1 + nginx 1.15.3 由于nginx版本过低,不支持解析PATHINFO路径 需要添加匹配规则: if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=/$1 last; } 如果较高版本,但是也不支持PATHINFO 可以试用简单的匹配规则如下: location / { try_files $uri /index.php$uri; } 来源: oschina 链接: https://my.oschina.net/u/3022293/blog/2962936