最近的文章列表

解决ThinkPHP做文字水印时提示call an undefined function exif_imagetype()的方法

一、问题描述:

ThinkPHP做文字水印 ,今天做一个电子请帖,就把祝福语贴到图片上面,发现一直报错是取不到图片类型,比如gif,jpg等,并提示call an undefined function exif_imagetype()。

二、解决方法:

出现这个错误就是php.in 配置问题,打开即可:打开扩展 extension=php_exif.dll 如果再不行就把extension

2015/6/17 Comments:
利用Composer构建自己的PHP框架前的准备工作介绍

Framework Interoperability Group(框架可互用性小组),简称 FIG,成立于 2009 年。FIG 最初由几位知名 PHP 框架开发者发起,在吸纳了许多优秀的大脑和强健的体魄后,提出了PSR-0 到 PSR-4 五套 PHP 非官方规范:

1. PSR-0 (Autoloading Standard) 自动加载标准

2. PSR-1 (Basic Coding Standard) 基础编码标准

3. PSR-2 (Coding Style Guide) 编码风格向导

4. PSR-3 (Logger Interface) 日志接口

5. PSR-4 (Improved Autoloading)自动加载优化标准

之后,在此标准之上,Composer横空出世!Composer 利用 PSR-0 和 PSR-4 以及 PHP5.3 的命名空间构造了一个繁荣的 PHP 生态系统。

2015/6/16 Comments:
解决ThinkPHP视图模型查询提示ERR: 1146:Table 'db.pr_order_view' doesn't exist的方法

分享给大家thinkphp视图模型查询失败提示:ERR: 1146:Table 'db.pr_order_view' doesn't exist解决办法。具体方法如下:

一、问题描述:

想用thinkphp的视图模型进行关联查询,结果出现了这样的问题(log日志记录):ERR: 1146:Table 'db.pr_order_view' doesn't exist,我就纳闷,视图模型怎么出来的sql是这样的呢,视图模型如下:

代码如下:
class OrderViewModel extends ViewModel
{
2015/6/15 Comments:
仿DedeCms下拉分页样式,来修改ThinkPHP分页类实例代码

仿dede下拉分页样式修改的thinkphp分页类具体实现方法如下:

修改thinkphp分页类:如下拉列表式分页(类似dedecms分页):

纯html代码:

代码如下:
<select name="sldd" onchange="location.href=this.options[this.selectedIndex].value;">
<option value="http://URL/1">1</option>
<option value="http://URL/2" selected="selected">2</option>
2015/6/14 Comments:
ThinkPHP中标签html:list传递多个参数示例代码

此改动 针对thinkphp 2.0 版本有效,thinkphp 3.0 版本 未测试.

主要修改这个文件 /Thinkphp/Lib/Think/Template/Taglib/TabLibHtml.class.php 的 _list 方法

注释有新增内容的代码部分是新增加的
主要通过 -- 分割多个参数(会自动替换为,)

代码如下:
public function _list($attr)
2015/6/13 Comments:
浏览器后退、刷新、关闭相关的js方法:onbeforeunload(阻止页面的更新和关闭)与onunload事件

Onunload,onbeforeunload都是在刷新或关闭时调用,可以在<script>脚本中通过 window.onunload来指定或者在<body>里指定。区别在于onbeforeunload在onunload之前执行,它还可 以阻止onunload的执行。

  Onbeforeunload也是在页面刷新或关闭时调用,Onbeforeunload是正要去服务器读 取新的页面时调用,此时还没开始读取;而onunload则已经从服务器上读到了需要加载的新的页面,在即将替换掉当前页面时调用。Onunload是无 法阻止页面的更新和关闭的。而 Onbeforeunload 可以做到。
1、onbeforeunload事件:
  说明:目前三大主流浏览器中firefox和IE都支持onbeforeunload事件,opera尚未支持。
用法:
·object.onbeforeunload = handler 
·<element onbeforeunload = “handler” … ></element> 
2015/6/12 Comments:
最新10个免费的jQuery表格插件(Tabledit、 Datagrid、SlickGrid)

创建一个表格(table)并调整其规模,是一项艰难而繁琐的工作。作为一名开发者,当我向自己的项目中插入表格时,下面这些插件给我提供了很大的帮助。我决定把这些 jQuery 的表格插件分享给你们,使您的表创建体验更加轻松。这些插件不仅可以让工作变得简单,而且对用户十分友好,你不需要掌握核心的知识就能使用。如果您正在做项目,而且需要把表格添加到你的工作中,那么请参考下这些插件,其中可能就有对您有用的。

  jQuery Tabledit

  jQuery Tabledit 是 HTML 表格的 inline 编辑器,兼容 Bootstrap。它可以像电子表格那样编辑 inline,或者用按钮在编辑和视图模式之间进行切换。

2015/6/11 Comments:
CodeIgniter(CI)框架如何支持service层(附代码)

大家知道CodeIgniter框架式MVC分层的,通常大家把业务逻辑写到Controller中,而Model只负责和数据库打交道。

但是随着业务越来越复杂,controller越来越臃肿,举一个简单的例子,比如说用户下订单,这必然会有一系列的操作:更新购物车、添加订单记录、会员添加积分等等,且下订单的过程可能在多种场景出现,如果这样的代码放controller中则很臃肿难以复用,如果放model会让持久层和业务层耦合。现在公司的项目就是,很多人将一些业务逻辑写到model中去了,model中又调其它model,也就是业务层和持久层相互耦合。这是极其不合理的,会让model难以维护,且方法难以复用。

是不是可以考虑在controller和model中加

2015/6/10 Comments:
PHP利用array_map简单删除文件、删除目录

废话不多说,直接贴上代码。本文体现的就是简洁

代码如下:

<?php
 
//删除目录下所有空目录 郑州网建
array_map('rmdir', glob('*', GLOB_ONLYDIR));
 
//删除目录所有文件
array_map('unlink', array_filter(glob('*'), 'is_file'));
2015/6/9 Comments:
zend测试框架PHPUnit安装及使用示例代码

PHPUnit是zend官方大力支持的测试框架,高质量的单元测试时保证项目质量的基础,能够有效的减少BUG,改善程序。

安装PHPUnit:

在php的目录下:

代码如下:

pear channel-discover pear;
2015/6/8 Comments: