分类 THINKPHP 下的文章
thinkphp实现域名+数字(www.kinmor.com/888)跳转到个人空间或学校主页的功能
最近小鱼哥在做直播门户开发,要知道直播每个人都有自己的直播间,使用靓号可以进入自己的直播间,然用thinkphp开发,发现路由URL规则中 /字母或数字都会进入控制器或模块 用URL美化,也只能实现类似www.kinmor.com/i/888(i/:id=>show/index),要实现真正的a.com/123这样进入的话,还是有点小技巧的。下面粘贴本鱼的代码,用htacess来实现。
以下为.htacess代码
<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine On
#PC学校规则
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([0-9]*)$ /Show/index/index/nid/$1
RewriteRule ^m_([0-9]*)$ /box/index/index/nid/$1
#全站规则
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?s=$1 [QSA,PT,L]
</IfModule>
WIndows webuploader Call to undefined function think\finfo_open()
php.ini 中开启 fileinfo 扩展来获取正确的类型:
extension = php_fileinfo.dll
请检查!
Thinkphp like 单字段多个值 or 模糊查询
最近小鱼哥要做个标签模糊查询的需求。
比如标签值:
tags:广州建站,番禺建站,企业建站
我想查询所有新闻Tags字段含有以上任意一个关键词的记录,怎么实现呢?
$tags =array("广州建站","番禺建站");
重组查询条件,因为模糊查询的like 关键词两边要追加“%”;
$map =array();
foreach($tags as $k=>$v){
$map[$k] ="%".$v."%";
}
$where['tags'] =array('like',$diff,'or');
以上得出的sql语句是
示例表为t_news 查询出6个记录 语法如下
**SELECT * FROM `t_news` WHERE (`tags` LIKE '广州建站' OR `tags` LIKE '番禺建站') ORDER BY update_time DESC LIMIT 6**
好了以上的查询就可以应用到thinkphp中去了。
thinkphp 禁止生成日志log(适用于3.2)
/Application/Common/Conf/config.php下配置
<?php
return array(
'LOG_RECORD' => false, // 关闭日志记录
);
/index.php
define('APP_DEBUG',false); // 关闭调试模式就不会记录日志
Thinkphp success error返回报错SyntaxError: JSON.parse
【故障问题】:
thinkphp框架开发过程中或生产环境中,出现以下报错,并且success和error无返回的情况
SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
【排查发现】:
√因为文件编码而出现的故障 默认文件编码应为无bom+的utf8编码格式,不知道是用了什么编辑器打开,保存的时候就默认变成了带+bom utf-8的编码格式 所以json解析的时候会带bom的如空格等返回,就不是纯粹的json,所以报错json解析错误。
【修正解决】
使用Editplus,另存为,将带bom的编码改为utf8即可,见下图
【editplus破解版下载】
https://pan.baidu.com/s/1AGpGN3HdRXslHtc5uuQgCw (链接失效,请联系#395617441#企鹅邮箱)