文档标签: dev
今天在做ThinkPHP项目中的文章(article)模块时,运用到了thinkphp中的relation关联查询,
文章表里面的分类cate_id,查询文章的同时将分类category里的分类名name也查出
请看实例分析ThinkPHP的关联操作
目前的四种关联关系:
HAS_ONE、BELONGS_TO、HAS_MANY和MANY_TO_MANY。
[php]
class ArticleModel extends RelationModel{
protected $tableName = 'Article';
protected $_link = array(
'Category' => array(
'mapping_type' => BELONGS_TO,//article是category从表
'mapping_name'=>'Category',//关联的映射名称,用于获取数据用
'class_name'=>'Category'...
今天有一同事在做ThinkPHP项目权限管理的时候,想多了,于是我就写了一个删除权限的方法:
[php]
function test(){
$this->delAll(2, 1, 1);
}
public function delAll($role_id,$node_id,$level){
$a = M('Access');
$map['pid'] = array('eq', $node_id);
$find = $a->where($map)->field('role_id,node_id,level')->select();
if ($find){
foreach ($find as $k=>$v){
$this->delAll($find[$k]['role_id'], $find[$k]['node_...
由于现在本地用的php5.3几的版本,别人发过来的源码好多提示。
session_is_registered()函数在PHP4.6以后的版本中好像已经淘汰了,判断是否存在用isset()函数:
if(!isset($_SESSION["username"])){
header("location:index.php?login=log");
}
在php5.3中官方废弃了很多函数,其中目前本人收集到的有
ereg();
eregi();
ereg_replace();
eregi_replace();
set_magic_quotes_runtime();
split();
mysql_close();
Function ereg_replace()解决办法
1.使用php5.2版本
2.如果一定要用php5.3,请修改php.ini中下面代码
;extension=php_mbstring.dll 修改为; extension=php_mb...
1、查看是否安装了vsftpd服务
#rpm -qa|grep vsftpd
2、安装vsftpd
#yum -y install vsftpd
3、基于虚拟用户的FTP架设
所谓虚拟用户就是没有使用真实的帐户,只是通过某种手段达到映射帐户和设置权限的目的。
1) 我们在/etc/vsftpd/vsftpd.conf中做如下CentOS FTP服务配置:
anonymous_enable=NO 设定不允许匿名访问
local_enable=YES 设定本地用户可以访问。注:如使用虚拟宿主用户,在该项目设定为NO的情况下所有虚拟用户将无法访问。
chroot_list_enable=YES 使用户不能离开主目录
xferlog_file=/var/log/vsftpd.log 设定vsftpd的服务日志保存路径。注意,该文件默认不存在。必须要手动touch出来
ascii_upload_enable=YES
ascii_download_enable=YES 设定支持ASCII模式的上传和...
MyISAM有的说不支持,有的说支持
这个用事务和不用事务有什么区别吗?
理解事务
事务的作用主要是在服务器发生错误或崩溃的情况下确保数据库的一致性。事务是一个或一系列的查询,这些查询要么全部执行要么全部不执行。例如,银行转账需要两个过程来完成,首先需从某个账户扣除一定金额,之后在另个账户中增加相同的金额。如果这两个过程不同时执行,从第一个账户中扣除金额后还没来得及增加第二个账户的金额就发生停电或服务器崩溃,这将给用户和银行造成很大的损失。如果采用事务处理上述过程,即使出现上述事故也不会给用户造成损失。一个事务被永久的写入到数据库中称事务提交,将状态重置到事务开始之前的状态称为事务回滚。
事务的特性
事务具有以下4个特性。
原子性:指事务作为一个整体要么完全执行,要么完全不执行。
一致性:指一个事务必须能够使数据处于一致的状态。
孤立性:在事务完全完成之前,他们都是孤立的。
持续性:一旦写入数据库后,事务必须是永久的、持续的。
附 mysql 表类型说明
mysql的存储引擎包括:MyISAM、InnoD...
上一个ThinkPHP项目做完了,就在查看一些提示信息,提高ThinkPHP运行速度!
问题一:
Notice: A non well formed numeric value encountered in 。。。
解答:
//$date查询出的时间
echo date('Y-m-d',strtotime($date));
参考资料:
资料1.
A non well formed numeric value encountered 原因
时间戳不是真正的int类型,这种经常出现在从数据库中提取出数据,但是数据不是int类型的,可能是varchar等等,这种问题常常出现在弱类型语言上!大家可以使用intval()函数将非格式良好的数据转换成良好的类型,这样就可以了!
问题二:
求百分比:
function percent($p, $t){
if ($t != 0){
return round( $p/$t * 100 , 2) . "%";
}
}
Division by zero 如何...
在做项目的时候一般都要用到编辑器,查查现在流行的编辑器kinkeditor编辑器,使用的系统还是很多,些编辑器说大也不大,说小也不小,解压了1M多.
今天看看我在项目中用到的编辑器kindeditor的配置等信息.
首先引用js
[js]
<script charset='utf-8' src='/Editor/kindeditor.js'></script>
<script charset='utf-8' src='/Editor/lang/zh_CN.js'></script>
[/js]
这两个是没发少的!
我是将配置方件写到另一个js里的,因为我对起显示的一些item做了修改,
[js]
<script id="_getsrc" src="/Js/keditor.js?id=remark"></script>
[/js]
其中id后面跟的是textarea的id值,再看一下keditor.js...
昨天在做一个绑定的功能,
php手机绑定与手机解绑,php邮箱绑定与解绑,
首先我们有两个需要存入的数据,一是判断手机是绑定了还是没有绑定,假设绑定我们设为 1 没有绑定设为 0.
邮箱也是同样的 绑定了设为 1 没有绑定设为 0.
默认这样 bind:{"phone":0,"email":0}.
因为绑定与解绑是需要用邮箱或手机短信来验证的,这里就需要发送一个验证码给用户,那么也就要在数据中存入一个验证码 vertify: {"phone":null,"email":null}
好数据库中设计好了,现在就来看看程序是怎么操作这两个字段的.
首先判断是否绑定,读取数据库信息,
这里我们就再次假设读出来绑定信息数据为 $bind,
将数据库中的字符串强制转换成数组格式:$bind = json_decode($bind, true);
用var_dump($bind),格式 就是数据格式了。哈哈!就可以判断是绑定了还是没有绑定,
如果在绑定那么我们就需要向用户发送一个6位的验证码,然...
近几个月都在用thinkphp做项目,
其中不乏用到编码的问题,
根据官方的一些例子来写了一个导航,用id和title
其中title就是用base64_encode编码的,但是你会发现在用一些中文词是会出现错误。
例:专业设置,编码出来:5LiT5Lia6K6+572u
看看吧中间有一个“+”号,这就会造成页面无法显示,
所以在使用过程中我们项目组都避开设置这两字!
不知道有解决的方法,这应该是thinkphp才有的问题,
应该在使用base64_encode都会出现这种情况,只是在tp中的url模式下会出现错误而已。
望有知道的同学给予解答!...
今天 在做项目打打印的时候 遇到一个问题,将统计出来金额转换成人民币格式,
人民币格式???
如:5,648,311.09元这种
如果是这种格式,那么我们就要用str_split来处理了,
以长度来分割字符串为数组
请看我写的一个function
/**
* 转换成人民币格式
* example: 213355.09转成213,355.09
*/
function changeRmb($str){
if(strlen($str) > 3) {
$str = explode('.', $str);
$money = $str[0];
$money = strrev($money);
$money = str_split($money, 3);
$money = join(',', $money);
$money = strrev($money);
if (empty($str[1])){
$str[1] = '00';
}
return $mo...
最近在用tp做项目,做到上传这块发现有问题.
哦,环境用的是windows+php+nginx
在上传中写了最大上传文件大小,
import("ORG.NET.UploadFile");
$upload = new UploadFile();//实例化上传类
$upload->maxSize = 1024*100;//设置附件上传大小
但是一上传大一点的文件就会出现"413 Request Entity Too Large" 这样的错误提示信息;
最后只得google一下,更改
解决方法:打开nginx主配置文件nginx.conf,找到http{}段,添加
client_max_body_size 20m;
Centos下 vi /usr/local/nginx/conf/nginx.conf
重启NGINX
kill -HUP `cat /usr/local/nginx/nginx.pid `
恢复正常...
今天一同事问我求两个数组的相同的值,就是求两个数组的交集,于是乎就查了一下php官网上的一些数组函数,在这里也贴出来
...
ThinkPHP使用的参数在这里就不多说了,如果你还不是很清楚可以到ThinkPHP官网去下载ThinkPHP使用手册.
今天在这里要说的ThinkPHP日常使用所要注意的一些细节问题.
这些都是我从实际的项目开发中发现的问题
1 要注意M的使用方法,例:
表: think_role_user
那么用M该如何运用呢?
M("Role_user") M("RoleUser")
目前发现两个都可以用,linux下也试过了
2 getField field
在linux下getField('id,name,status');
不能写成getField('id, name, status');//两种方式在windows下都可以用
今天就先说到这里了....
246 条记录 17/
19 页
上一页 下一页 第一页 上5页 16171819