Yii的增删改查

2014-9-15 liyangcoder PHP

 对于一个Model Post 有如下的4中查询方法,返回对象或者对象数组。

阅读全文>>

标签: Yii

评论(0) 浏览(7569)

Yii的relations()方法 join查询

2014-8-30 liyangcoder PHP

可能存在两个活动记录对象之间的关系有四种类型:

  • BELONGS_TO: 例如,成员属于一个团队;
  • HAS_ONE: 例如,成员有个人资料;
  • HAS_MANY: 例如,一个团队有很多成员;
  • MANY_MANY: 例如,成员有很多的技巧和技能是属于这个成员的;


除了上述的关系类型,还支持一种特殊的关系称为STAT,可以用来进行统计查询(或聚合查询)。它检索聚合对相关对象的信息,如每个帖子,对于每个产品,平均分数为注释的数目等。

阅读全文>>

标签: Yii relations

评论(3) 浏览(5116)

PHP转换编码问题GBK/UTF-8

2014-8-29 liyangcoder PHP

在实际项目中,有时候会遇到远程接收到的编码,或者数据库里取出的编码与实际文件编码不一致的情况,这样就非常容易出现乱码,如果简单的用iconv函数转码的话,有时又无法保证对方传过来的一定是某种编码。

举个例子:我现在的项目开发编码是GBK,而又有很多地方需要用JSON来接收、发送数据,接收到的数据一定是UTF-8编码(非UTF-8中文无法encode和decode),但我需要把接收来的数据用在我们的系统中,这样就必须转码一次,当我们需要发送JSON数据给其他接收者的时候,又必须将编码从GBK转成UTF-8。超级麻烦,而且极易出错,因为我们无法特别准确的定位文本现在的编码。于是诞生了下面两个函数。

阅读全文>>

标签: UTF-8 GBK 编码

评论(0) 浏览(13124)

Yii富文本编辑器插件 kcFinder

2014-7-28 liyangcoder PHP

插件官方地址:

http://www.yiiframework.com/extension/ckkceditor

阅读全文>>

标签: YiiKcFinder

评论(0) 浏览(7534)

PHP防止SQL注入的一种思路

2014-7-21 liyangcoder PHP

问题描述:

  如果用户输入的数据在未经处理的情况下插入到一条SQL查询语句,那么应用将很可能遭受到SQL注入攻击,正如下面的例子:

1
2
3
$unsafe_variable=$_POST['user_input'];
 
mysql_query("INSERT INTO `table` (`column`) VALUES ('".$unsafe_variable."')");

  因为用户的输入可能是这样的:

1
value'); DROP TABLE table;--

  那么SQL查询将变成如下:

1
INSERTINTO`table` (`column`)VALUES('value');DROPTABLEtable;--')

  应该采取哪些有效的方法来防止SQL注入?

阅读全文>>

标签: mysql PHP sql注入

评论(0) 浏览(7102)

PHP二维数组排序的具体方法

2014-7-18 liyangcoder PHP

PHP本身就存在一个多维数据排序的函数

array_multisort() 函数对多个数组或多维数组进行排序,可以用来一次对多个PHP二维数组排序进行排序,或者根据某一维或多维对多维数组进行排序。

参数中的数组被当成一个表的列并以行来进行排序 - 这类似 SQL 的 ORDER BY 子句的功能。第一个数组是要排序的主要数组。数组中的行(值)比较为相同的话,就会按照下一个输入数组中相应值的大小进行排序,依此类推。

第一个参数是数组,随后的每一个参数可能是数组,也可能是下面的排序顺序标志(排序标志用于更改默认的排列顺序)之一:

SORT_ASC - 默认,按升序排列。(A-Z)
SORT_DESC - 按降序排列。(Z-A)
随后可以指定排序的类型:

阅读全文>>

标签: PHP 多维数组排序

评论(0) 浏览(4070)

PHP 如何阻止用户上传成人照片或者裸照

2014-5-7 liyangcoder PHP

在这份教程中,我们将会学习到如何阻止用户通过PHP上传成人照片或者裸照.

  示例   下载

  我在phpclasses.org上面偶然发现一个很有用的,由Bakr Alsharif开发的可以帮助开发者基于皮肤像素点来检测图片裸照的类文件.

  它会分析在一张图片的不同部分使用的颜色,并决定其是否匹配人类皮肤颜色的色调.

阅读全文>>

标签: 上传过滤

评论(0) 浏览(3041)

PHP计划任务:如何使用Linux的Crontab执行PHP脚本

2014-5-3 liyangcoder PHP

我们的PHP程序有时候需要定时执行,我们可以使用ignore_user_abort函数或是在页面放置js让用户帮我们实现。但这两种方法都不太可靠,不稳定。我们可以借助LinuxCrontab工具来稳定可靠地触发PHP执行任务。
下面介绍Crontab的两种方法。

阅读全文>>

标签: 定时任务

评论(0) 浏览(3195)

用PHP脚本实现定时任务

2014-4-30 liyangcoder PHP

使用php让浏览器刷新需要解决几个问题

  1. PHP脚本执行时间限制,默认的是30m 解决办法:set_time_limit();或者修改PHP.ini 设置max_execution_time时间(不推荐)
  2. 如果客户端浏览器关闭,程序可能就被迫终止,解决办法:ignore_user_abort即使关闭页面依然正常执行
  3. 如果程序一直执行很有可能会消耗大量的资源,解决办法使用sleep使用程序休眠一会,然后在执行

 

PHP定时执行的代码:

<?php
ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.
set_time_limit(3000);// 通过set_time_limit(0)可以让程序无限制的执行下去
$interval=5;// 每隔5s运行
 
//方法1--死循环
do{
    echo '测试'.time().'<br/>'; 
    sleep($interval);// 等待5s    
}while(true);
 
//方法2---sleep 定时执行
    require_once './curlClass.php';//引入文件
     
    $curl = new httpCurl();//实例化
    $stime = $curl->getmicrotime();
    for($i=0;$i<=10;$i++){
         
        echo '测试'.time().'<br/>'; 
        sleep($interval);// 等待5s
         
    }
    ob_flush();
    flush();
    $etime = $curl->getmicrotime();
    echo '<hr>';
    echo round(($etime-stime),4);//程序执行时间
 


标签: 定时任务

评论(0) 浏览(4346)

在WINDOWS中设置计划任务执行PHP文件

2014-4-29 liyangcoder PHP

1、写一个PHP程序,命名为test.php,内容如下所示:
<?
$fp = fopen("test.txt", "a+");
fwrite($fp, date("Y-m-d H:i:s") . " 成功成功了!n");
fclose($fp);
?>
程序大胆地写,什么include/require尽管用,都没问题
2、新建Bat文件,命名为test.bat,内容如下所示:
D:phpphp.exe -q D:websitetest.php

//相应目录自己改上

3、建立WINDOWS计划任务: 开始–>控制面板–>任务计划–>添加任务计划 浏览文件夹选择上面的bat文件 设置时间和密码(登陆WINDOWS的) 保存即可了。 4、大功告成! 可以右键计划任务点“运行”试试

标签: 定时任务

评论(0) 浏览(2644)

Powered by emlog 冀ICP备13011830号-1