魔术和反射机制节约代码
在弄数据映射的时候发觉有更加简单的代替原来那种方法!
主要用到了PHP本身的魔术及反射机制,哈哈可以节约代码!
User手工创建getter,setter
UserRe是自动创建
他们两个完成的功能是一样的!
源码所示如下:
PHP__魔术方法简介
__toString()
如果我有一个类:
class Person{private $name = “”;private $age = 0;
function __construct($name = “”, $age = “”)
{$this->name = $name;$this->age = $age;
}
怎样批量给图片添加水印(PHP实现)?
现在想在WordPress上传图片的时候加水印,目前采用了一个Watermark Reloaded插件
水印:凹凸曼
但是问题是以前上传的图片没有水印呢!
怎样把以前的图片加上水印呢?
我就继承了Watermark Reloaded水印基类
基类做了一部分修改
并且在子类里完成所有处理
怎样让PHP编程效率更高
对应需要进一步提高自己的程序来说,对应PHP效率编程需要,用心学习 ,如下的几十点需要注意的
0、用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。
检测手机浏览器的代码
PHP检测手机浏览器的代码function is_mobile(){ $regex_match=”/(nokia|iphone|android|motorola|^mot\|softbank|foma|docomo|kddi|up\.browser|up\.link|”;
$regex_match.=”htc|dopod|blazer|netfront|helio|hosin|huawei|novarra|CoolPad|webos|techfaith|palmsource|”;
PHP过滤特殊字符(set_magic_quotes_runtime(0|1) 和 magic_quotes_gpc、addslashes、 stripslashes)
对于字符的过滤,是相当重要的,一般入侵都来源于程序漏洞! 一、magic_quotes_gpc 不能在代码中动态开启或关闭,需要到php.ini将magic_quotes_gpc设置为on或off, 作用范围是:WEB客户服务端; 作用时间:请求开始是,例如当脚本运行时. 二、addslashes 在程序中使用 相当于 magic_quotes_gpc开启的时候 添加数据到数据库之前,我们手动对数据进行addslashes(),而从数据库取出数据时,则作相反操作,即stripslashes()。 三、magic_quotes_runtime 一般来说公共的头部文件,一般 set_magic_quotes_runtime(0) 关闭了。 否则从数据库读取出来的数据单引号、双引号和反斜杠都会被加上\,导致显示不正常 作用范围:从文件中读取的数据或执行exec()的结果或是从SQL查询中得到的; 作用时间:每次当脚本访问运行状态中产生的数据 四、 stripslashes 对于要序列化的内容
php中编码转换(ASCⅡ码)
以前花了不少时间,找可以把中文转ascii码的php代码,utf-8也只是ascii的一种。后来中手册上找到了个,把他改为了批量转换,还增加了一个常用的ascii代码还原字符。这个代码写好了有一段时间了,没什么时间把这些贴出来,大家可以看看,这个类不止只是中文的转换哟
有效防御PHP木马攻击的技巧
、防止跳出web目录 首先修改httpd.conf,如果你只允许你的php脚本程序在web目录里操作,还可以修改httpd.conf文件限制php的操作路径。比如你的web目录是/usr/local/apache/htdocs,那么在httpd.conf里加上这么几行: php_admin_value open_basedir /usr/local/apache /htdocs 这样,如果脚本要读取/usr/local/apache/htdocs以外的文件将不会被允许,如果错误显示打开的话会提示这样的错误: Warning: open_basedir restriction in effect. File is in wrong directory in /usr/local/apache/htdocs/open.php on line 4 等等。 2、防止php木马执行webshell 打开safe_mode, 在,php.ini中设置 disable_functions= passthru,exec,shell_exec,system 二者选一即可,也可都选 3、防止php木马读写文件目录 在php.ini中的 disable_functions=
PHP怎样操作Memcache?
前段时间在写论坛接口的时候搞的一个PHP操作Memcache类, 感觉Memcache还是不错! 可以就是太吃内存了!内存容量不行的肯定不行! 等哈没有缓解服务器压力的时候,反而增加了服务器的压力!哈哈!