PHPExcel是用来操作OfficeExcel文档的一个PHP类库,它基于微软的OpenXML标准和PHP语言。可以使用它来读取、写入不同格式的电子表格。而Codeigniter是一个功能强大的PHP框架。二者结合就能起到非常棒的效果啦!
1.准备工作
下载PHPExcel:http://phpexcel.codeplex.com
这是个强大的Excel库,这里只演示导出Excel文件的功能,其中的大部分功能可能都用不着。
2.安装PHPExcel到Codeigniter
1)解压压缩包里的Classes文件夹中的内容到application\libr
一副1024*768大小的图片,裁剪到240*240大小,裁剪后不失真,尽可能保留图片主题含义。
我使用到的方法:
1. 先将图片等比例缩略到可以裁剪的大小;
如果是宽幅图片,则按高度等比例缩放到高度 = 240px,窄幅图片(高度大于宽度)则按宽度等比例缩放;
2. 按长宽格式居中裁剪;
保留缩略后的图片中间部分;
在默认的情况下,CodeIgniter会显示所有的PHP错误。但是当你开发程序结束时,你可能想要改变这个情况。
你会发现在index.php文件顶端有这个函数error_reporting(),通过它可以进行对错误的设置。 即使你关闭了错误报告,当有错误发生时,错误记录也不会停止。
所以,修改php.ini不能达到我们想要的效果。
下面是解决办法:
1. Codeigniter中禁止A Database Error Occurred错误提示
在CodeIgniter 用户指南中说到,设置 ENVIRONMENT 常量为 'development' 值将会允许所有PHP错误报告都输出到浏览器
Tank Auth是针对Codeigniter的权限管理类库,功能很强大。整合了CI之后,有一天将数据库转到另一台服务器上,发现使用之前的用户名和密码都无法登录了。
折腾半天,终于找到解决办法:
1、找到 config/tank_auth.php 文件
2、修改参数
将 $config['phpass_hash_portable'] = FALSE; 修改为
在controller直接echo的时候,某些浏览器会出现乱码的情况。可以用下面两种方法解决:
1、常用的php的header函数
header("Content-type:text/html;charset=utf-8");
示例:
CodeIgniter中公共函数不能追加,可以通过 helper 辅助函数实现。
创建 common_helper.php 文件,定义所需公共函数,存放至 application/helpers 目录中。
在 application/config/autoload.php 中配置 $autoload['helper'] = array('common'); 即可。
全局的变量也可以借助 helper 函数来实现。不过,更为合适的方式可能要属用配置类定义了。
CodeIgniter 默认有一个主配置文件,位于application/config/config.php 路径,其中定义了一堆框架级别的全局配置,
网上倒是有不少Codeigniter数据库操作的介绍,这里做一个汇总。
//查询:
$query = $this->db_query("SELECT * FROM table");
==================================
//result() 返回对象数组
$data = $query->result();
用codeigniter也有一段时间了,一直没有做什么总结。现在总结一些Codeigniter操作数据库表的优化写法,虽说不全,但是也确实可以帮助那些刚刚上手CI的同学。
链接数据库
$this->load->database();//手动连接数据库
//连接多数据库
$DB1 = $this->load->database('group_one', TRUE);
$DB2 = $this->load->database('group_two', TRUE);
本示例Codeigniter注册登录代码源自一个codeigniter的项目,现分享下~
由于使用了 Active Record 类,一般数据库操作只有两层,即是C和V
controllers/login.php文件:
<?php
class Login extends CI_Controller {
private $pass = '';
Codeigniter项目访问时如果出现如下错误提示:
Error with CACHE directory.
检查一下cache目录的权限,就会发现
drwxr-xr-x 3 root root 4096 Mar 1 13:53 cache
这时候只要将其改为可读写,
# chmod 777 cache
问题解决。