07 2013 档案

摘要:PHP 可以自动进行内存管理,清除不再需要的对象。PHP使用了引用计数(reference counting)这种单纯的垃圾回收(garbage collection)机制。每个对象都内含一个引用计数器,每个reference连接到对象,计数器加1。当reference离开生存空间或被设为 NULL,计数器减1。当某个对象的引用计数器为零时,PHP知道你将不再需要使用这个对象,释放其所占的内存空间。 阅读全文
posted @ 2013-07-18 23:43 Rayol 阅读(160) 评论(0) 推荐(0)
摘要:一款Chrome下用来配合调试 PHP 的工具,看官方介绍应该和 FirePHP 有异曲同工的。喜欢用Chrome的PHPer 可以尝试一下。官方网站:http://www.chromephp.com/ 阅读全文
posted @ 2013-07-18 23:42 Rayol 阅读(443) 评论(0) 推荐(0)
摘要:笔者收集的这些技巧来源较广,完整性不能保证。 由于数量较多,这些优化技巧没有经过测试。请各位看官在使用之前自行测试,毕竟这些技巧是否能派上用场,还是需要由PHP所在的独特环境所决定的。目录索引找到瓶颈(Finding the Bottleneck)缓存 (Caching)编译 vs. 解释(Compiling vs. Interpreting)代码减肥 (Content Reduction)多线程与多进程(Multithreading & Multiprocessing)字符串(Strings)正则表达式(Regular Expressions)迭代结构 (Iteration Cons 阅读全文
posted @ 2013-07-18 23:39 Rayol 阅读(1575) 评论(0) 推荐(3)
摘要:php中数据的魔法引用函数 magic_quotes_gpc 或 magic_quotes_runtime 设置为on时,为我们引用的数据碰到 单引号' 和 双引号" 以及 反斜线\ 时自动加上反斜线,帮我们自动转译符号,确保数据操作的正确运行两者的区别:magic_quotes_gpc作用范围是:WEB客户服务端;作用时间:请求开始是,例如当脚本运行时。magic_quotes_runtime作用范围:从文件中读取的数据或执行exec()的结果或是从SQL查询中得到的;作用时间:每次当脚本访问运行状态中产生的数据。可以看出magic_quotes_gpc的设定值将会影响通过 阅读全文
posted @ 2013-07-12 15:35 Rayol 阅读(1655) 评论(0) 推荐(0)
摘要:1 function getRealURL($url){ 2 $header = get_headers($url,1); 3 if (strpos($header[0],'301') || strpos($header[0],'302')) { 4 if(is_array($header['Location'])) { 5 return $header['Location'][count($header['Location'])-1]; 6 }else{ 7 return $header['Lo... 阅读全文
posted @ 2013-07-11 12:09 Rayol 阅读(2376) 评论(0) 推荐(0)
摘要:array_change_key_case — 返回字符串键名全为小写或大写的数组array_chunk — 将一个数组分割成多个array_combine — 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值array_count_values — 统计数组中所有的值出现的次数array_diff_assoc — 带索引检查计算数组的差集array_diff_key — 使用键名比较计算数组的差集array_diff_uassoc — 用用户提供的回调函数做索引检查来计算数组的差集array_diff_ukey — 用回调函数对键名比较计算数组的差集array_diff — 计 阅读全文
posted @ 2013-07-11 00:19 Rayol 阅读(303) 评论(0) 推荐(0)
摘要:CGICGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上。CGI可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。如php,perl,tcl等。FastCGIFastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork一次(这是CGI最为人诟病的fork-and-execute 模式)。它还支持分布式的运算,即 FastCGI 程序可以在网站服务器以外的主机上执行并且接受来自其它网站服务器来的请求。F 阅读全文
posted @ 2013-07-11 00:17 Rayol 阅读(1150) 评论(0) 推荐(0)
摘要:yum自动安装:yum install lrzsz 阅读全文
posted @ 2013-07-07 17:22 Rayol 阅读(1808) 评论(0) 推荐(0)
摘要:gzip决定是否开启gzip模块param:on|offexample:gzip on;gzip_buffers设置gzip申请内存的大小,其作用是按块大小的倍数申请内存空间param1:intparam2:int(k) 后面单位是kexample: gzip_buffers 4 8k;gzip_comp_level设置gzip压缩等级,等级越底压缩速度越快文件压缩比越小,反之速度越慢文件压缩比越大param:1-9example:gzip_com_level 1;gzip_min_length当返回内容大于此值时才会使用gzip进行压缩,以K为单位,当值为0时,所有页面都进行压缩param: 阅读全文
posted @ 2013-07-07 12:39 Rayol 阅读(842) 评论(0) 推荐(0)
摘要:[PHP];;;;;;;;;;;;;;;;;;;; About php.ini ;;;;;;;;;;;;;;;;;;;;; PHP's initialization file, generally called php.ini, is responsible for; configuring many of the aspects of PHP's behavior. ;PHP的初始化文件,命名为php.ini,负责配置PHP的各种行为和功能。; PHP attempts to find and load this configuration from a number of 阅读全文
posted @ 2013-07-07 00:24 Rayol 阅读(3132) 评论(3) 推荐(2)
摘要:可以用字符作为一个通配符来代替除换行符(\n)之外的任一个字符。例如,正则表达式:.at可以与"cat"、"sat"、"#at"和"mat"等进行匹配。主要是用于在搜索文件时也可以指定一个字符集:[a-z]at在方括号([])中的内容都是一个字符类--- 一个被匹配字符所属的字符集合。但是只匹配其中的一个字符。同时我们也可以给出一个集合。[aeiou]可以用来表示元音字母。也可以用来表示一个范围。也可以是一个范围集:[a-zA-Z]这个范围集代表任何的大小字母。此外,还可以用集合来指明字符不属于某个集。例如:[^a 阅读全文
posted @ 2013-07-06 17:06 Rayol 阅读(383) 评论(0) 推荐(0)
摘要:Nginx缓存nginx有两种缓存机制:fastcgi_cache和proxy_cache下面我们来说说这两种缓存机制的区别吧proxy_cache作用是缓存后端服务器的内容,可能是任何内容,包括静态的和动态的fastcgi_cache作用是缓存fastcgi生成的内容,很多情况是php生成的动态内容proxy_cache缓存减少了nginx与后端通信的次数,节省了传输时间和后端带宽fastcgi_cache缓存减少了nginx与php的通信次数,更减轻了php和数据库的压力。proxy_cache缓存设置#注:proxy_temp_path和proxy_cache_path指定的路径必须在同 阅读全文
posted @ 2013-07-06 17:05 Rayol 阅读(3665) 评论(3) 推荐(1)
摘要:1 $_SERVER['PHP_SELF']#当前正在执行脚本的文件名,与documentroot相关。 2 $_SERVER['argv']#传递给该脚本的参数。 3 $_SERVER['argc']#包含传递给程序的命令行参数的个数(如果运行在命令行模式)。 4 $_SERVER['GATEWAY_INTERFACE']#服务器使用的CGI规范的版本。例如,“CGI/1.1”。 5 $_SERVER['SERVER_NAME']#当前运行脚本所在服务器主机的名称。 6 $_SERVER['SERVER_ 阅读全文
posted @ 2013-07-05 17:55 Rayol 阅读(284) 评论(0) 推荐(0)
摘要:/* * substr 返回字符串的子串 * base_convert 在任意进制之间转换数字 * fileperms 取得文件的权限 */// 获取权限function getChmod($filepath){ return substr(base_convert(@fileperms($filepath),10,8),-4);} 阅读全文
posted @ 2013-07-05 13:07 Rayol 阅读(1580) 评论(0) 推荐(0)
摘要:操作XShell过程中很多时间大家会习惯性的按Ctrl+S进行保存.Ctrl+S在XShell的作用是屏幕锁定,很多朋友会无法操作,会直接把窗口关闭。解决方法:快捷键 Ctrl+Q 即能完成解锁! 阅读全文
posted @ 2013-07-05 12:16 Rayol 阅读(3508) 评论(1) 推荐(1)
摘要:1、__get、__set 这两个方法是为在类和他们的父类中没有声明的属性而设计的 __get( $property ) 当调用一个未定义的属性时访问此方法 __set( $property, $value ) 给一个未定义的属性赋值时调用 这里的没有声明包括当使用对象调用时,访问控制为proteced,private的属性(即没有权限访问的属性)2、__isset、__unset __isset( $property ) 当在一个未定义的属性上调用isset()函数时调用此方法__unset( $property ) 当在一个未定义的属性上调用unset()函数时调用此方法 与__get方法 阅读全文
posted @ 2013-07-05 12:09 Rayol 阅读(345) 评论(0) 推荐(0)
摘要:假设要获取$_GET['c']; 首先,先介绍下http_globals; 1.http_globals,定义在php_globals.h中; zval * http_globals[6]; 其中的索引为:1 #defineTRACK_VARS_POST 02 #defineTRACK_VARS_GET 13 #defineTRACK_VARS_COOKIE 24 #defineTRACK_VARS_SERVER 35 #defineTRACK_VARS_ENV 46 #defineTRACK_VARS_FILES 57 #defineTRACK_VARS_REQUEST 6就 阅读全文
posted @ 2013-07-05 11:56 Rayol 阅读(495) 评论(0) 推荐(0)
摘要:1、使用file_get_contents()1 2. 使用get_headers()1 PS:需要打开allow_url_fopen!如未打开会显示Warning: get_headers() [function.get-headers]: URL file-access is disabled in the server configuration3.使用fsockopen() 1 阅读全文
posted @ 2013-07-05 11:37 Rayol 阅读(497) 评论(1) 推荐(1)
摘要:1 方法一: 2 header('Content-Description: File Transfer'); 3 header('Content-Type: application/octet-stream'); 4 header('Content-Disposition: attachment; filename='.basename($filepath)); 5 header('Content-Transfer-Encoding: binary'); 6 header('Expires: 0′); 7 header(& 阅读全文
posted @ 2013-07-04 19:38 Rayol 阅读(785) 评论(0) 推荐(0)
摘要:1 function execute($cmd) { 2 $res = ''; 3 if ($cmd) { 4 if(function_exists('system')) { 5 @ob_start(); 6 @system($cmd); 7 $res = @ob_get_contents(); 8 @ob_end_clean(); 9 } elseif(function_exists('passthru')) {10 @ob... 阅读全文
posted @ 2013-07-04 19:35 Rayol 阅读(250) 评论(0) 推荐(1)
摘要:1 $useragent = addslashes(strtolower($_SERVER['HTTP_USER_AGENT'])); 2 3 if (strpos($useragent, 'googlebot')!== false){$bot = 'Google';} 4 elseif (strpos($useragent,'mediapartners-google') !== false){$bot = 'Google Adsense';} 5 elseif (strpos($useragent,'ba 阅读全文
posted @ 2013-07-04 16:21 Rayol 阅读(1021) 评论(0) 推荐(0)
摘要:1 if ($_SERVER['HTTPS'] != "on") {2 echo "This is not HTTPS";3 }else{4 echo "This is HTTPS";5 } 阅读全文
posted @ 2013-07-04 16:17 Rayol 阅读(352) 评论(0) 推荐(0)
摘要:1 /** 2 * html转换输出(只转义' " 保留Html正常运行) 3 * @param $param 4 * @return string 5 */ 6 function htmlEscape($param) { 7 return trim(htmlspecialchars($param, ENT_QUOTES)); 8 } 9 10 /** 11 * 是否数组(同时检测数组中是否存在值) 12 * @param $params 13 * @return boolean 14 */ 15 function isArray($params)... 阅读全文
posted @ 2013-07-04 10:19 Rayol 阅读(367) 评论(0) 推荐(0)
摘要:1 /** 2 * 短域名生成&解析类 3 */ 4 class Build_URL { 5 6 private $mem; 7 private $base_url = 'http://xxx.com/'; 8 9 public function __construct() {10 $mem_conf = array(11 array(12 'host' => '192.168.10.90',13 'po... 阅读全文
posted @ 2013-07-04 10:13 Rayol 阅读(505) 评论(0) 推荐(0)
摘要:PHP开发框架近来在PHP社区中成为讨论的热点,几乎每天都在推出新的框架。面对市面上超过四十种的开发框架,你很难判断究竟哪一款最适合你,尤其是在这些框架所提供的功能不尽相同的时候。 本文将引导你遍览十款最热门最流行的开发框架,并对它们作出横向比对。我会先列出一张所有框架的一览表,而后我们将对它们逐个简述。 概览 以下你看到是这十款开发框架的一览表,列举了他们各自所提供的功能。 #1:表示框架是否内建模型-视图-控制器。 #2:表示框架是否无需修改即可支持多数据库。 #3:表示框架是否支持对象记录映射器,通常这是ActiveRecord的封装包。 #4:表示框架是否包含其... 阅读全文
posted @ 2013-07-04 10:07 Rayol 阅读(2181) 评论(1) 推荐(0)
摘要:// ※CheckMoney($C_Money) 检查数据是否是99999.99格式// ※CheckEmailAddr($C_mailaddr) 判断是否为有效邮件地址// ※CheckWebAddr($C_weburl) 判断是否为有效网址// ※CheckEmpty($C_char) 判断字符串是否为空// ※CheckLengthBetween($C_char, $I_len1, $I_len2=100) 判断是否为指定长度内字符串// ※CheckUser($C_user) 判断是否为合法用户名// ※CheckPassword($C_passwd) 判断是否为合法用户密码// ※C 阅读全文
posted @ 2013-07-03 23:16 Rayol 阅读(1380) 评论(1) 推荐(3)