目前为自由职业者,从事BA业务分析和互联网产品设计等工作,本人先后在中关村在线、中国工商银行和神州数码工作。拥有互联网,移动互联网,软件公司等开发经历。计算机本科毕业,8年互联网和软件行业经验。
在上文《16.app后端如何保证通讯安全--url签名》提到,url签名有两个缺点,这两个缺点,如果使用对称加密方法的话,则完全可以避免这两个缺点。在本文中,会介绍对称加密的具体原理,和详细的方案,使app通讯更加安全。
这个问题可能是变量未定义造成的: if(!empty($current_user_id)){ $digg = $this->m_feed_digg->show_entity( array('digg_user_id' => $current_user_id, 'digg_feed_id' ...
public function show_list_by_order($array_data, $order_field, $order_mode) { $query = $this->db->get_where('xm_attach', $array_data); ...
总结: 哪一个类中用到某一个类,就在构造函数中加载这个类,比如m_attach,C_Feed类中有用到,那么就在构造函数中加载 控制器: class C_Feed extends CI_Controller { public function __construct() { ...
团队人数:11人 第一个版本:大约8周 之后的大版本:5-6周 之后的小版本:2-3周 还有滚动开发的模式: 两个开发组滚动开发版本,基本上2周一个大版本如何联系我:【万里虎】www.bravetiger.
1. foreach() foreach()是一个用来遍历数组中数据的最简单有效的方法。 #example1: 显示结果: Do you like red? Do you like blue? Do you like green? Do you like yellow? 2. while() while() 通常和 list(),each()配合使用。
foreach http://php.net/manual/zh/control-structures.foreach.php (PHP 4, PHP 5) foreach 语法结构提供了遍历数组的简单方式。
创建类库 当我们使用术语"类库"时,我们一般指的是位于libraries 文件夹中的类,它们在wiki的"类库参考"这个板块被讨论.在当前这个话题中,我们将讨论如何在 application/libraries 文件夹中建立你自己的类库,并使它们与全框架的资源维持分离.
php 二维数组遍历赋值 我个人在项目中的写法: //遍历二维数组foreach($tmp_array as $key => $value){ //动态生成图片的URL $attach_url = $this->qiniu_utils->get_download_url($tmp_array[$key]['attach_save_name'] , '7vih5p.
之前提到的 CodeIgniter 引入自定义公共函数 这篇文章提到了公共函数实现,全局的变量也可以借助 helper 函数来实现。不过,更为合适的方式可能要属用配置类定义了。 CodeIgniter 默认有一个主配置文件,位于application/config/config.php 路径,其中定义了一堆框架级别的全局配置,一个名称为$config 的数组。
http://codeigniter.org.cn/user_guide/general/creating_libraries.html 创建类库 当我们使用术语"类库"时,我们一般指的是位于libraries 文件夹中的类,它们在wiki的"类库参考"这个板块被讨论.
http://www.bitscn.com/pdb/php/201411/404708.html 大家知道CodeIgniter框架式MVC分层的,通常大家把业务逻辑写到Controller中,而Model只负责和数据库打交道。
http://www.bitscn.com/pdb/php/201411/404680.html 顾名思义,装载器就是加载元素的,使用CI时,经常加载的有: $this->load->library()$this->load->view()$this->load->model()$this->l...
在Libraries目录写工具类,可以参考项目中七牛的集成写法 而Helps目录写的是辅助函数(公共函数)这一类的 如何联系我:【万里虎】www.bravetiger.cn 【QQ】3396726884 (咨询问题100元起,帮助解决问题500元起) 【博客】http://www.
在之前我写过php返回json数据简单实例,刚刚上网,突然发现一篇文章,也是介绍json的,还挺详细,值得参考。内容如下 从5.2版本开始,PHP原生提供json_encode()和json_decode()函数,前者用于编码,后者用于解码。
1: dedecms 访问空白(织梦如何显示详细错误) 我们在使用织梦的时候,有的时候会遇到访问空白的情况,尤其是再刚刚搬家之后,织梦会出现访问空白或者返给您一个500的友好界面错误,遇到这种情况该怎么办呢? 遇见空白,一般先看看能否进入后台,如果可以进去,清空一下网站缓存,重新生成一下首页文件试试 如果生成后还是不行,进入wwwroot/include/common.
查看文件权限的语句: 在终端输入:ls -l xxx.xxx (xxx.xxx是文件名) 那么就会出现相类似的信息,主要都是这些:-rw-rw-r-- 一共有10位数 其中: 最前面那个 - 代表的是类型 中间那三个 rw- 代表的是所有者(user) 然后那三个...
XAMPP目录结构 重要的文件和目录 文件/目录 用途 /opt/lampp/bin/ XAMPP 命令库。例如 /opt/lampp/bin/mysql 可执行 MySQL 监视器。
php5.2.x php5.3.x php5.4.x php5.5.x php5.6.x 对比详解 截至目前(2014.2), PHP 的最新稳定版本是 PHP5.5, 但有差不多一半的用户仍在使用已经不在维护 [注] 的 PHP5.2, 其余的一半用户在使用 PHP5.3 [注].因为 PHP 那“集百家之长”的蛋疼语法,加上社区氛围不好,很多人对新版本,新特征并无兴趣。
Q: 和大家讨论一个图片存储的问题:图片地址= 存储服务器的URL + 文件名;,我现在的一个类似微博的表里面我用image_ids字段来存储多个图片ID,问题来了,存储服务器的URL,是也加一个新字段来存储URL吗(这样貌似会冗余很多,因为都是一样的地址URL),还是我在后台中定义一个全局的图...
目 录 基于XMPP协议的手机多方多端即时通讯方案................................................................. 1 目 录.
一.跟踪HTTPS 1.下载官方的证书ssl.zip证书,解压成*.crt 2.可以通过邮箱或者发布到自己的服务器的方式,然后用手机去下载安装crt文件。 3.charles设置Proxy-->SSL,勾选Enable SSL Proxying,下面点击"Add",将你需要验证的域名+端口号添加进去并且勾选。
MAC下的HTTP接口抓包工具,专业级: 专门做JSON接口测试的工具,简单好用! 如何联系我:【万里虎】www.bravetiger.cn 【QQ】3396726884 (咨询问题100元起,帮助解决问题500元起) 【博客】http://www.
比较两个字符串是否相等,最常见的方法就是使用“===”来判断,至于它和“==”的区别,简单来说就是前者强调“identical”类型也要求一样;后者要求“equal”,值相同就可以了,参考【1】。或者使用strcmp来判断,但是这个能够告诉你两个字符串是否相等,但是无法告诉你在那里不同。
输出结果: 传入值为:empty()==trueself==false 传入值为:0empty()==trueself==false 传入值为:0empty()==trueself==false 传入值为:isset()==falseempty()==trueself==falseis_nu...
http://www.blogjava.net/kalman03/archive/2010/07/19/326558.html 在微博系统中,当前用户、关注者(也就是粉丝)、被关注者(崇拜对象)这三种角色是少不了的。
主要就前三个字段,当然也可以是4个字段 from_user_id to_user_id 互粉状态both_status (rel_type) A B YE...
Q: 我见过一种设计,在数据库里面有一张用户关系表,表结构如下 CREATE TABLE relation (relation_id private key AUTO_INCREMENT,//关系idrelation_fans text,//粉丝数据relation_black text,//黑名单数据relation_action text//关注数据);这样的设计有什么用意,如果要取得用户的关系数据 怎么取得? A: text类型?是存些什么东西呢?很好奇。
http://www.w3cschool.cc/redis/redis-php.html 安装 开始在 PHP 中使用 Redis 前, 我们需要确保已经安装了 redis 服务及 PHP redis 驱动,且你的机器上能正常使用 PHP。
新浪作为全世界最大的Redis用户,在开发和运维方面有非常多的经验。本文作者来自新浪,希望能为业界提供一些亲身经历,让大家少走弯路。 使用初衷 从2010年上半年起,我们就开始尝试使用Redis,主要出于以下几方面的考虑。
最近做一产品,微博方面的。数据存储同时用到了DB(mysql),Cache(memcache),Redis。其实最开始架构设计的时候是准备用MongoDB的,由于学习成本太高,最终选择放弃了,采用了比较保守的方案。
客户端的请求体中的数据:[{"msg_id": 1, "msg_status": "HAS_READ" }, { "msg_id": 2, "msg_status": "HAS_READ" }] 是一个二维数组字符串 $json_data = json_decode($GLOBALS['HTTP_...
------------------------------- 如何联系我:【万里虎】www.bravetiger.cn 【QQ】3396726884 (咨询问题100元起,帮助解决问题500元起) 【博客】http://www.cnblogs.com/kenshinobiy/
查询辅助函数 $this->db->insert_id() 这个ID号是执行数据插入时的ID。 $this->db->affected_rows() Displays the number of affected rows, when doing "write\" type queries (insert, update, etc.). 当执行写入操作(insert,update等)的查询后,显示被影响的行数。
$this->db->update_batch(); 生成一条update命令是以你提供的数据为基础的,并执行查询。你可以传递一个数组或对象的参数给update_batch()函数。下面是一个使用一个数组作为参数的示例:Generates an update string based on the data you supply, and runs the query.
关于char,varchar与text平时没有太在意,一般来说,可能现在大家都是用varchar。但是当要存储的内容比较大时,究竟是选择varchar还是text呢?不知道。。。。。。 于是去查阅了一些资料,顺便将这三种类型做个比较: (1)char: char不用多说了,它是定长格式的,但是长度范围是0~255. 当你想要储存一个长度不足255的字符时,mysql会用空格来填充剩下的字符。
http://www.wubiao.info/470 前两篇文章: 查找附近的xxx 球面距离以及Geohash方案探讨 (http://www.wubiao.info/372) 微信、陌陌 架构方案分析 (http://www.wubiao.info/401) 探讨了,LBS查找附近的XXX;其中包括了,Mysql自定义存储函数方案,以及通过GeoHash、redis自建索引方案。
float,decimal精确度比较 float,double容易产生误差,对精确度要求比较高时,建议使用decimal来存,decimal在mysql内存是以字符串存储的, 用于定义货币要求精确度高的数据。
一个GET的REST API,请求有三个参数,且都是数字 用$this->input->get()方法获取后的结果是字符串,需要转换为数字;如果没有获取到数据,则会返回false,需要用empty判断 可以用:int=intval($str); -----------------------...
1.gettype():获取变量类型 2.is_array():判断变量类型是否为数组类型 3.is_double():判断变量类型是否为倍浮点类型 4.is_float():判断变量类型是否为浮点类型 5.
Q: 新增记录插入成功后,加了一个return $this->db->insert_id(); $digg_id = $this->m_feed_digg->create(json_decode($data)); if(isset($digg_id)){ /...
对于初学php的人来说,empty()和和isset()用法的区别是很难搞清楚的,他们的用法的差别不仔细去琢磨的话确实很难弄清楚。 先说一下他们的共同点: 都可以判定一个变量是否为空; 都返回boolean类型,即true或false。
在system/application/config 文件夹和里面的config文件里已经配置了参数 $active_group = "default";$db['default']['hostname'] = ""; hostname: 你的数据库的位置, 举例来说, 'localhost' 或 IP 地址 $db['default']['username'] = ""; username和password: 使用者名称和密码必须有充分的权限,允许你的网站存取数据库中的数据。
http://ju.outofmemory.cn/entry/16893 我喜欢 github,我现在的个人代码全部是托管在上面了,但是一些公司或者某些项目不适合放入github中,你希望能有一个完全私有的仓库,如果你有一台服务器,这显然是很容易办到的事。
Git自动部署文件位于repository下面的hooks里的post-receive #!/bin/sh set -e git-update-server-info gitosis-run-hook update-mirrors # Check the remote git rep...
我们的PHP程序有时候需要定时执行,我们可以使用ignore_user_abort函数或是在页面放置js让用户帮我们实现。但这两种方法都不太可靠,不稳定。我们可以借助Linux的Crontab工具来稳定可靠地触发PHP执行任务 下面介绍Crontab的两种方法。
名称 : crontab 使用权限 : 所有使用者 使用方式 : crontab file [-u user]-用指定的文件替代目前的crontab。 crontab-[-u user]-用标准输入替代目前的crontab. crontab-1[user]-列出用户目前的crontab. crontab-e[user]-编辑用户目前的crontab. crontab-d[user]-删除用户目前的crontab. crontab-c dir- 指定crontab的目录。
Q: 最近配了个服务器,用的GIT,本地提交后服务器必须再拉取一下才能更新出来。。求个提交后自动更新的方法 A: 最佳工具 git hook post-update.sample 改名为post-update 然后加几行简单的代码就能实现你的需求了 例: gitdir=/**** cd $gitdir git checkout 对应分支 git pull end... ------------------------------------- 最简单的办法就是服务器上用一个cron任务,定时拉取。
总结PHP中,"NULL" 和 "空" 是2个概念。 isset 主要用来判断变量是否被初始化过empty 可以将值为 "假"、"空"、"0"、"NULL"、"未初始化" 的变量都判断为TRUEis_null 仅把值为 "NULL" 的变量判断为TRUEvar == null 把值为 "假"、"空"、"0"、"NULL" 的变量都判断为TRUEvar === null 仅把值为 "NULL" 的变量判断为TRUE 所以我们在判断一个变量是否真正为"NULL"时,大多使用 is_null,从而避免"false"、"0"等值的干扰。
如例: function test(array $a,test $b){ /*...*/ } class test{ /*...*/ } test(array(),new test); 表示test函数的参数里,第一个参数必须是数组,第二个必须是test类的实体。