Jul262015
伪装Nginx,隐藏Nginx、PHP版本号并提升服务器安全性
现在Web Server使用广泛,针对它的攻击也越来越多,Nginx这玩意出道时间也并不长,虽然国内很多门户网站都用它,小内存VPS用户也爱它,但是我可不想哪天它爆出了个惊天BUG,上次80sec公布的Nginx相关PHP FPM漏洞就是警示哦,倘若伪装了我的Nginx服务器,攻击者就不知道我使用的是何种Web Server,也就无从下手了。
修改src/core/nginx.h
#define NGINX_VERSION “1.0.12”#d...阅读全文
抢沙发
Jun302015
Yii使用PHPExcel导入Excel文件的方法
Yii 使用PHPExcel导入Excel文件的方法,具体步骤如下:
一,PHPEXCEL 包下载页面:http://phpexcel.codeplex.com/
二,将压缩包中的 classes 目录复制到 protected/extensions 下并修改为 PHPExcel。
三,修改YII配置文件 config/main.php
......
'import'=>array(
......
'application.extensions.PHPExcel.PHPExcel',
......
),
......
四,创建控制器
(以下为处理 PH...阅读全文
Jun272015
Yii 获取当前控制器名称和动作名称
php YII 框架中获取当前控制器名称和当前动作名称的方法。
1. 获取当前控制器名
在控制器中获取当前控制器名:
$name=$this->getId();
在视图中获取当前控制器名:
$name=Yii::app()->controller->id;
2. 获取当前动作名
在控制器beforeAction()回调函数中获取当前动作名:
$name=$action->id;
在其他地方获取当前动作名:
$name=$this->getAction()->getId();
阅读全文
Jun172015
Yii获取上传文件的后缀名
Yii获取上传文件的后缀名,主要是用CUploadedFile类中的getExtensionName()方法,例如:
<?php
......
$form->image=CUploadedFile::getInstance($form->model, 'image');
$randName=date('Ymdhis').rand(100,999).'.'.$form->model->image->getExtensionName();
$form->model->image->saveAs(Yii::app()->basePath.'/../upload/'.$randName);
......
阅读全文
Jun172015
PHPExcel的exception ‘Exception’ with message ‘The filename is not recognised as an OLE file问题解决
php使用phpExcel解析excel文档的过程中出现 exception ‘Exception’ with message ‘The filename ../phpernote.com/user.xls is not recognised as an OLE file’ in D:\phpernote\apache\htdocs… 错误提示。
问题原因:
我直接使用Excel2007创建的excel文档,虽然也是xls类型文档,但貌似格式不兼容,即使将xlsx改成xls,也同样会报上述错误。
解决办法:
使...阅读全文
Jun142015
jquery获取checkbox的attr(checked)一直为undefined问题的解决办法
使用 jquery 判断 checkbox 是否选中,大家估计马上就会想到如下方法:
$(“#phpernote”).attr(“checked”)
但是今天却发现这个语句总是返回undefined,非常不解,网上查了下,发现原来是这样的。
这个方法在 jquery1.6 版本及以上版本便对此做出了修改,修改的原因是:
checked属性在页面初始化的时候已经初始化好了,不会随着状态的改变而改变。
也就是说如果chec...阅读全文
May262015
php中new self()详解
php new self() 这种用法很少见,也基本搜索不到关于这种用法的详细资料。本文现在就简单的做一些备注,日后慢慢更新。
php new self() 一般在类内部使用,作用是对自身类实例化,下面给个实例讲解如何使用:
<?php
class phpernote{
public function __construct(){
echo 'php程序员的笔记!';
}
public static function getInstance(){
new self();
}
}
phpe...阅读全文
May242015
将yii对象结果转为数组的方法
使用Yii 的Active Record 来获取查询结果的时候,返回的结果集是一个对象类型的,但有时候为了数据处理的方便希望结果集是数组形式或者JSON格式的。那该怎么办呢?
将yii对象结果转为数组
// 查找满足指定条件的结果中的第一行
$post=Post::model()->find($condition,$params);
// 查找具有指定主键值的那一行
$post=Post::model()->findByPk($postID,$condition,$params...阅读全文
May232015
php ignore_user_abort() 函数设置与客户机断开脚本继续执行
ignore_user_abort() 可以实现当客户端关闭后仍然可以执行PHP代码,可保持PHP进程一直在执行,可实现所谓的计划任务功能与持续进程,只需要开启执行脚本,除非 apache 等服务器重启或有脚本有输出,该PHP脚本将一直处于执行的状态,初看很实用,不过代价是一个PHP执行脚本的持续进程,开销很大,但却可以 实现很多意想不到的功能。
定义和用法
ignore_user_abort() 函数设置与客户机断开是...阅读全文
May192015
php socket相关函数
本文列举了所有关于PHP语言中使用socket相关服务的一些函数。注意使用如下函数之前,你需要确保你的socket已打开,如果你没有打开,请编辑你的php.ini文件,去掉下面这行前面的注释(分号):
extension=php_sockets.dll
如果你无法去掉注释,那么请使用下面的代码来加载扩展库:
<?php
if(!extension_loaded('sockets')){
if(strtoupper(substr(PHP_OS,3))=="WIN"){
dl('php_s...阅读全文