thinkphp
wang_quan_li
高级工程师,CSAI顾问团顾问,PHP策进会(PEA)兰州常委,首批陇原青年创新人才扶持计划人选,甘肃省省属科研院所科技创新团队——情报研究与信息服务模式创新团队成员。先后取得程序员、软件设计师、系统分析师资格。
展开
-
thinkphp3.2开发排错一例——查询语言之SQL查询
为了满足复杂查询的需要,我使用了SQL查询的query方法,$Model = new \Think\Model(); // 实例化一个model对象 没有对应任何数据表$menuList=$Model->query(sql语句);我的sql语句是关联查询,明明数据库表里有数据,就是死活查询不到,后来才发现是数据表中某字段值含有\r所致,因为这些数据是通过txt文件导入的,语句是load原创 2014-01-23 15:35:19 · 757 阅读 · 0 评论 -
微信开发者模式 绑定url token 您的服务器没有正确相应token验证
用微信官方的wxsample.php可以验证,而用thinkphp写的代码提示这个错误,其中一种可能是文件编码带了BOM,用notepad++等工具将编码改为utf8无BOM格式即可解决此问题原创 2014-05-01 18:27:04 · 1751 阅读 · 0 评论 -
thinkphp3.1开发排错一例——多次上传同名文件提示“文件已存在”
thinkphp3.1开发排错一例——多次上传同名文件提示“文件已存在”原创 2014-05-04 11:51:59 · 830 阅读 · 0 评论 -
thinkphp3.2开发排错一例——当__APP__的值变化后,需要删除缓存~runtime.php文件
经过是这样的:在根目录下建立了一个文件夹weixin,之前通过www.domain.com/weixin访问,后来想改成二级域名weixin.domain.com访问,但通过U方法生成的路径中仍含有weixin/,通过输出__APP__的值发现也带weixin/,删除缓存~runtime.php文件后解决问题原创 2014-05-03 17:03:24 · 1197 阅读 · 0 评论 -
thinkphp3.2微信开发者模式 绑定url token 您的服务器没有正确相应token验证
当打开调试模式后就会出现此问题原创 2014-05-06 17:10:20 · 1206 阅读 · 0 评论 -
ueditor编辑文章时候,复制粘贴内容,原来的图片不能显示
ueditor编辑文章时候,当现有文章有图片的时候,再复制粘贴文本进去的时候,里面的图片就不能显示了,编辑器查看文章Html代码,图片路径显示为:src="http://localhost/images/net/error!"正确是:src="http://localhost/images/adc.jpg"而我用的是自定义的服务器的一个路径 查看源码,发现这块功能是如下原创 2014-05-08 11:11:39 · 14256 阅读 · 2 评论 -
QueryList一个基于phpQuery的无比强大的采集工具
QueryList是一个基于phpQuery的通用列表采集类,是一个简单、 灵活、强大的采集工具,采集任何复杂的页面 基本上就一句话就能搞定了。QueryList 使用//实例化一个采集对象$hj = new QueryList('http://www.baidu.com/s?wd=jaekj',array('title'=>array('h3','text')));//输转载 2014-05-13 13:28:15 · 2803 阅读 · 0 评论 -
thinkphp插入数据时,汉字为空,数字及英文不为空,是因为模板不是utf8编码
thinkphp插入数据时,汉字为空,数字及英文不为空,是因为模板不是utf8编码原创 2014-04-11 22:11:13 · 872 阅读 · 0 评论 -
thinkphp3.1.2开发排错一例——开启调试模式以关闭缓存
貌似在Conf/config.php中增加'APP_DEBUG' => true,并没有开启调试模式,而是原创 2014-04-11 23:09:14 · 1091 阅读 · 0 评论 -
thinkphp3.2开发排错一例——D方法首字母必须大写,否则自动验证失效
$tousu = D('Tousujubao');//首字母必须大写,否则不会自动验证应该是D()里的参数必须与它的Model文件名一致,只是约定Model文件名首字母必须大写,且Model类名首字母也必须大写原创 2014-04-28 16:07:12 · 1048 阅读 · 0 评论 -
thinkphp3.2.2版本,公共函数放哪里才能自动加载?
在原来的项目里面有个common/common.php,里面放的就是些function,之前能在任何地方直接使用,现在报错不能使用,公用函数库文件放置在Application应用模块根目录下的Common模块下的Common目录下即可(./Application/Common/Common/function.php),其他模块直接调用该公用函数文件的函数,命名空间都不需要原创 2014-05-21 11:19:59 · 1721 阅读 · 0 评论 -
thinkphp3.2 join操作时,两个表中字段名称不能重名,否则只显示这个重名字段的一个值
thinkphp3.2 join操作时,两个表中字段名称不能重名,否则只显示这个重名字段的一个值原创 2014-05-23 09:19:19 · 1688 阅读 · 0 评论 -
thinkphp的内置标签不能注释,注释掉会提示XML标签语法错误
thinkphp的内置标签不能注释,注释掉会提示XML标签语法错误原创 2014-05-23 09:59:30 · 1364 阅读 · 0 评论 -
thinkphp3.2开发排错一例——Conf下的配置文件经记事本修改后导致网站打不开的错误
Conf下的配置文件编码是utf8,经过记事本修改后导致网站打不开的错误,用ie、360、chrome浏览器均提示无法显示此网页,而用firefox浏览器则提示如下:内容编码错误您尝试查看的页面无法显示,因为它使用了无效的或者不支持的压缩格式。firefox提示的很明确啊,以后可以多用firefox了用notepad++打开文件后,点击菜单中的格式后发现编码是utf8编码,原创 2014-05-01 18:22:34 · 1311 阅读 · 0 评论 -
thinkphp3.2开发排错一例——Model:relation您所请求的方法不存在!
是没有RelationModel.class.php文件所致原创 2014-04-30 17:02:05 · 1308 阅读 · 0 评论 -
thinkphp3.2开发排错一例——当输入数据长度超过表里设置的长度后,提示操作失败,没有提示超过长度
当输入数据长度超过表里设置的长度后,提示操作失败,没有提示超过长度原创 2014-04-30 19:18:43 · 813 阅读 · 0 评论 -
thinkphp3.2开发排错一例——javascript执行没反应
一般是javascript有错误,但一般又看不到这个错误信息,此时可以打开开发人员工具(快捷键F12),在Console中就可以看到具体的错误信息了原创 2014-01-23 16:30:55 · 806 阅读 · 0 评论 -
thinkphp3.2标签中数组的使用
在控制器中的代码如下:$UnitType=unserialize(UnitTypeMap);$this->assign('UnitType',$UnitType);在config.php中的常量数组如下:define("UnitTypeMap",serialize(array(array("1","市(州)"),array("2","省"));在视图中使用标签代码如下:原创 2014-01-23 20:42:59 · 993 阅读 · 0 评论 -
thinkphp3.2自定义常量数组
我直接使用define定义常量数组,如:define('DB_CONFIG',array('localhost','user'));,结果dump(DB_CONFIG)死活没有值,原来define常量的值;仅允许标量和 null。标量的类型是 integer, float,string 或者 boolean。所以数组是不允许的,像这些自定义的常量数组一般都放在文件里,如果不放在文件里也有一种办原创 2014-01-23 20:15:38 · 2590 阅读 · 0 评论 -
thinkphp3.2开发排错一例——没有使用命名空间导致没有自动加载类进而导致Class not found
在Application\Home\Common下定义了一个类class StringHelper,没有使用命名空间,在调用这个类的地方使用use Home\Common\StringHelper;提示Class not found,原来是在 StringHelper的定义中必须使用命名空间才能自动加载,在thinkphp3.2手册中已有说明http://document.thinkphp.cn/原创 2014-01-25 20:15:21 · 1926 阅读 · 0 评论 -
thinkphp3.2开发排错一例——Using $this when not in object context
错误信息:$this引用没有上下文原因:在PHP5中,static声明的静态方法里不可以使用$this 需要使用self来引用当前类中的方法或是变量。引用的方法里不可以带$this原创 2014-01-25 20:25:01 · 1499 阅读 · 0 评论 -
thinkphp3.2开发排错一例——D方法与M方法的使用
在用M方法实例化一个model类后,dump($User->create());显示的一直是调用系统的Think\Model,换成D方法后就没问题了,原来在手册中已有说明,说明如下:如果你的模型类有自己的业务逻辑,M方法是无法支持的,就算是你已经定义了具体的模型类,M方法实例化的时候是会直接忽略。连接是http://document.thinkphp.cn/manual_3_2.html#mode原创 2014-01-19 15:24:38 · 1622 阅读 · 0 评论 -
thinkphp3.2开发排错一例——Namespace declaration statement has to be the very first statement
这个一般是文件带有BOM头所致,EditPlus编辑UTF-8文件时删除BOM方法编辑器调整为UTF8编码格式后,保存的文件前面会多出一串隐藏的字符(也即是BOM),用于编辑器识别这个文件是否是以UTF8编码。一般的文本文件会忽略这一串隐藏的字符,但对于PHP等文件会解析这一串字符,这样会导致出错。运行Editplus,以v2.3版本为例,点击工具,选择参数,如下图:原创 2014-01-19 16:07:42 · 1878 阅读 · 0 评论 -
thinkphp3.2自定义常量
在Application\模块\Conf下新建文件config.php,里面直接写即可,如:define('常量名','常量值');原创 2014-01-18 12:23:30 · 1560 阅读 · 0 评论 -
thinkphp 添加数据 使用add($data); 只有主键增长 其他都为空
数据库表结构在Runtime目录下面缓存了。你可以把Runtime目录清空以后再试。你应该是运行过程序以后又修改了表结构。原创 2014-01-18 18:13:28 · 1217 阅读 · 0 评论 -
thinkphp3.2开发排错一例——表名带下划线的情况
在表名带下划线的情况下,按照表名来命名model类(即带下划线的model类名)及model类文件时,使用D方法实例化Model也不会调用自己的model,而是调用系统的Think\Model类,从哪儿能看到是调用了自己的Model还是系统的Think\Model类,在D方法实例化后,dump($user->create());即可看到,原来模型类的命名规则是除去表前缀的数据表名称,采用驼原创 2014-01-19 15:11:59 · 2087 阅读 · 0 评论 -
thinkphp3.2create方法,当表字段要求非空时,在表单里没有对该字段填充值时返回空数组
thinkphp3.2create方法,当表字段要求非空时,在表单里没有对该字段填充值时返回空数组原创 2014-01-19 12:30:03 · 1127 阅读 · 0 评论 -
thinkphp3.2的字段映射功能里字段是大小写敏感的
ThinkPHP的字段映射功能可以让你在表单中隐藏真正的数据表字段,而不用担心放弃自动创建表单对象的功能,假设我们的User表里面有username和email字段,我们需要映射成另外的字段,定义方式如下:namespace Home\Model;use Think\Model;Class UserModel extends Model{ protected $_map = array原创 2014-01-19 10:09:48 · 1147 阅读 · 0 评论 -
thinkphp3.2Php代码和标签在模板文件中的混合使用
php标签或者php代码里面就不能再使用标签(包括普通标签和XML标签)了,因此下面的几种方式都是无效的: name='name'value='value'>valuePhp标签里面使用了eq标签,因此无效if( {$user} != 'ThinkPHP' ) echo 'ThinkPHP' ;Php标签里面使用了{$user}普通标签输出变量 ,因此无效。if( $原创 2014-01-20 16:19:12 · 1150 阅读 · 0 评论 -
thinkphp3.1提示Class 'RelationModel' not found
如果你下载的是核心版本,有可能Extend目录是空的,因为ThinkPHP本身不依赖任何扩展。Extend目录原创 2014-10-14 10:05:49 · 1457 阅读 · 0 评论