Rango  18:02:56
http://matyhtf.iteye.com/blog/1679051
回忆未来-向东  18:05:11
对你这篇文章提到了Erlang,其中说到Push这一块,也是我研究的原因,你这块有实例吧?Push到浏览器的实例。
当年搜狐的白社会就是用的Erlang能并发2W,但没有做起来,技术已经是相当先进了。
Rango  18:05:56
只有测试的例子。目前还没有完整的方案
呵呵,并发2W不算什么。
搞到20W都不成问题
回忆未来-向东  18:06:21
带逻辑的,所以并发可能要低一点儿。
Rango  18:06:38
并发跟这个没关系,RPS和同时连接数
...
Rango  18:22:01
对啊。一直保持的,长连接
需要在你的代码中自己去选择关闭
回忆未来  18:22:14
为何要长连接?
Rango  18:22:26
swoole_server_close
...
阅读全文
PHP APC apc stat=0:

如果你覺得自己的 PHP 網站不快,可以在自己的 php.ini 裡面,load 進來 apc.so 後面加上 apc.stat=0 ,對樣對網站的效能會有顯著地提昇。原理是因為 APC 在每次讀取 PHP 程式碼的時候,都會先 stat() 程式碼所在的檔案,以確定要不要重新編譯成 OPCODE ,而 apc.stat=0 則是直接省略 stat() 的步驟,拿原本就有的 opcode 來用。

而當使用了 APC 並且設置 apc.stat=0 之後,其實網站在第一次編譯成 OPCODE 之後,除非重起或是清除快取,要不然就是會一直拿 OPCODE 來跑,而這樣速度也因此有了顯著的提升

当然重启动一下Apache也是可以自动再次加载一次的。
阅读全文
没想到在CSDN上看到一个兄弟写的文章成连载了,于是细看了下,发现对PHP的Socket的编码及扩展实现写得不错,建议看下其扩展写法,很有学习教育意义,再就是对Epoll模型的分析很到位,觉得写得都不错,特摘录下Socket这块的PHP扩展代码分析结合其PHP的Soket服务器写法,原文来自:
http://blog.csdn.net/shagoo/article/details/6647961
http://blog.csdn.net/shagoo/article/details/6396089
《Socket深度探究4PHP(一)》和《Socket深度探究4PHP(二)》 Socket 深度探究 4 PHP (三) 应该是写得很有体系的难得一见的不错的好文章。
阅读全文
system(“nohup ./t.py $ks &”);这个不会在后台运行,php会一直挂起直到t.py结束。

system(“nohup ./t.py $ks >>log.txt &”);这样写才能在后台运行因为system函数启动一个程序并希望保持在后台运行,

必须确保该程序的输出被重定向到一个文件或者其它输出流去,否则 PHP 会在程序执行结束前挂起。

如:

到无穷的黑夜文件中去:
Cacti基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测
官方网站:http://www.cacti.net/
演示地址:http://www.cacti.net/screenshots.php
下载地址:http://www.cacti.net/download_cacti.php
文章来源:http://www.OSphp.com.cn
程序介绍:

Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形解决方案。Cacti通过snmpget来获取数据,使用RRDtool绘画图形,也可外挂Scripts及加上Templates来作出各式各样的监控图,而且你完全可以不需要了解RRDtool复杂的参数。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善,界面友好,支持插件扩展。



转载自 xiaoxiaolq最终编辑 xiaoxiaolq值班监控服务器时,需一台台去登录查看服务器情况,很是麻烦,故用PHP SNMP做了个简单的服务器监控系统。结合了用来发短信的MAS系统,当服务器反生异常时可通过短信进行报警。阅读全文
PHP语言在实际编写中经常会与数据库打上交道。下面我们就来一起看看PHP类phpExcel的具体使用方法。phpExcel,操作excel很方便,尤其是可以方便的加入图片,支持jpg gif png格式。
下面是总结的几个PHP类phpExcel使用方法

创建一个excel

$objPHPExcel = new PHPExcel();
PHP类phpExcel保存excel—2007格式

$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
$objWriter=new PHPExcel_Writer_Excel5($objPHPExcel);//非2007格式
$objWriter->save("xxx.xlsx");
直接输出到浏览器

$objWriter = new PHPExcel_Writer_Excel5($objPHPExcel);
header("Pragma: public");
header("Expires: 0");
header("Cache-Control:must-revalidate,post-check=0,pre-check=0");
header("Content-Type:application/force-download");
header("Content-Type:application/vnd.ms-execl");
header("Content-Type:application/octet-stream");
header("Content-Type:application/download");
header('Content-Disposition:attachment;filename="resume.xls" ');
header("Content-Transfer-Encoding:binary");
$objWriter->save("php://output");
PHP类phpExcel设置excel的属性:
阅读全文
锁:这种在脚本重复跑,加上文件锁是最有效的方法,以下介绍Php的文件锁使用方法。
阅读全文
一般来说他们的区别在于混合表达式中运算符的处理顺序。
a++是先处理其他运算,然后a再自加;
而++a则是先处理a自加运算,再处理其他表达式运算;
如果只是单纯的表达式a++;或者是++a;这两个表达式的结果就没什么区别。
譬如是

计算的结果是a=2,b=1,c=2
c=++a是表达式先处理自加运算后处理赋值运算;
b=a++是表达式先处理赋值运算后处理自加运算;

http://iask.sina.com.cn/b/16210468.html
定义和用法
strrev() 函数反转字符串。
语法
strrev(string)
参数 描述
string 必需。规定要反转的字符串。
例子
复制代码 代码如下:

输出:
!dlroW olleH

Shell 也有对应的一个函数:
背景:在很多PHP面试上会给一些冒泡排序、或不说是冒泡排序,而说是自己实现一个按顺序排序,其实更高效呢需要更多时间写代码及思考,往往冒泡排序是最容易考察一个人对php也好,c的指针也好的一个驾驭以能力。

         经典的冒泡排序法一直是许多程序沿用的其中一种排序法,话说冒泡排序法在效率上比PHP系统函数sort更高效。本章不讨论性能,所以就不拿它来跟系统性能做对比了。


我写了一个,其原理,就是无论给一个什么样的数组,其输入这个排序函数,就给按数组下标小的值小在前面,而大的给放后面,也就是相当于一个瓶子里的气泡,轻的下沉,重的上浮,这个用语言讲出来还真不太好讲:
1)对于由a[0],a[1],a[2],a[3]....a[n-2],a[n-1],n个数组,通整个数组进行扫描(挨个扫:下标:0,1一组,1,2一组...,一组发现数组下标小的值且大的则交换),一直这样交换下去会发现:
(1)最大的那个经过一次扫描就沉到最下面了。
(2)最下面那个下一次不用再扫一次了,省一次比对。
  (3)根据2,对上面操作再扫一次,则这个倒数第二重的那个气泡也就排好了。
....依次类推,直至最上面两个数是最后一次,也就全排好了。(这个就是外层的一个:i最大,i--,因为内层一次后,最大那个已经到最下面了,于是,i--也就不用再扫它了)
12,45,28,30,88,67
第一次:12,28,30,45,67,88 //左右相邻比对,小下标大数值的往后挪
第二次:12,28,30,45,67,88 //这个其实一次就排好了,有些不规则的不止一次
.....
第N-1次 也就到了0,1两个下标的比对调整下位置,也就算排完了这个冒泡,确保正确。





---------- 调试PHP ----------
冒泡排序学习之PHP版本:Array
(
    [0] => 12
    [1] => 45
    [2] => 28
    [3] => 30
    [4] => 88
    [5] => 67
)
HeloArray
(
    [0] => 12
    [1] => 28
    [2] => 30
    [3] => 45
    [4] => 67
    [5] => 88
)

Output completed (0 sec consumed) - Normal Termination




下面这个是他人写的,感觉是反向,还不是太好理解,姑且放这儿吧:
冒泡排序大概的意思是依次比较相邻的两个数,然后根据大小做出排序,直至最后两位数。由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序。但其实在实际过程中也可以根据自己需要反过来用,大树往前放,小数往后放。阅读全文
如果我们想知道某个方法被谁调用了? debug_print_backtrace可以解决
debug_print_backtrace() 可以打印出一个页面的调用过程 , 从哪儿来到哪儿去一目了然.
不过这是一个PHP5的专有函数,好在pear中已经有了实现,

PHP debug_backtrace() 函数生成一个 backtrace。
该函数返回一个关联数组。下面是可能返回的元素:
名称  类型  描述
function  字符串  当前的函数名。
line  整数  当前的行号。
file  字符串  当前的文件名。
class  字符串  当前的类名
object  对象  当前对象。
type  字符串  当前的调用类型,可能的调用:
返回: "->"  - 方法调用
返回: "::"  - 静态方法调用
返回 nothing - 函数调用
args  数组  如果在函数中,列出函数参数。如果在被引用的文件中,列出被引用的文件名。




阅读全文
初略:
array(将=>array(军,来=>array(要=>array(升=>array(级)))),美=>array(人=>array(上,痣),女=>array(陪,聊)))
这种方式可能会高一点,但不利于海量,下面有一个思路,可以参考下。

关键词过滤的程序:
   因为关键词比较多,用preg_replace效率极差,str_replace又不能有太多的关键词,strtr虽然效率比str_replace快四倍,但用于大数组效率却和str_replace比较接近,于是自己用PHP写了一个算法,觉得效率非常很不错,遂于大家分享,待程序完善后便贴出来,先占个位置

主要是思路,
对文章按字节进行遍历,然后对每个字节开始的位置进行递归匹配关键词(当然不是直接去匹配,这里做了一个技巧,是把关键词按字节的ACCSII码做为KEY分成N维数组),这样只遍历文章一次便定位出所有关键字的位置,递归部分不会减慢程序的速度,一般第一次就会被跳出,这样程序不会随关键字的数量而变慢,理论上几十万关键字和几千个个关键字速度差不多 在本机测试了下4万个关键词,替换一篇文章竟然才用0.01秒多,而str_replace 已经到了 0.4秒了,并且关键词数量越多 str_replace  时间越长。

DownLoad:


keyword.class.php 是类
example.php 是例子 和 与 str_replace的对比
badword.src.php 是关键词的文件

也可以参看:http://hi.baidu.com/actfish/item/7fc13be2431a9018585dd837

关于关键字过滤程序中发现的多层循环的改良技巧:
   for循环的嵌套是很悲观的一件事情,多层嵌套时不出错的概率基本上是0(除非你的嵌套非常简单),当你的程序里充满了return,break时,是否头疼了呢?这时候我们常常忽略了C#语言的一个重要关键字“GOTO”。大胆尝试一下吧,虽然平时不鼓励使用GOTO来进行编程的,但有时候,使用它会大大提高你的效率,多层复杂循环就是“有时候”的一个时候。
这一篇文章写得不错,特转载,Url如下:
来自:
http://obmem.info/?p=476
http://obmem.info/?p=753
阅读全文
php -i|grep  magic_quotes_gpc
magic_quotes_gpc => Off => Off

注释:默认情况下,PHP 指令 magic_quotes_gpc 为 on,对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。


php addslashes处理$_POST $_GET数组函数:


调用:

背景:因smarty原自带函数截取时会出现中文乱码(我的是GBK的编码),出现怪异符号。
目的:修改Smarty的变量调节器truncate无乱码截取中文。

正题:
      网站的页面在展现时,为了美观,经常需要对一些标题的长度进行控制。在整个程序中,到处都是那忙碌的字符串截取函数,而且还可能出现中文乱码。用mb_substr()可以比较好的截取中文,但是它把中文和英文都按一个字符处理,截取的效果感觉不是太好。

如果你是用Smarty做表现层的话,可以用smarty的变量调节器truncate方法来控制字符串的长度,当然利用Smarty自己的truncate截取中文时,会出现乱码。我们可以改写它的truncate调节器,让它来帮我们截取字符串,达到一劳永逸的效果。

找到你的Smarty安装目录,打开plugins/modifier.truncate.php文件。你可以用下面的函数替换掉smarty自己的函数。




参数$length:为截取字符串的最大长度,默认为80字符,一个中文按2个字符计算;$etc:截取字符串时,自动附加在后面的符号。默认为 (...);$break_words 本指为是否可以打断一个单词,在中文环境下,作用不大,在改写的方法中,后面两个参数不起什么作用。

最后说下使用,{$title|truncate:30:"..."} ,很简单不是?当然这30个字符的长度还包括(...),如果你不喜欢,可以自己修改上面代码中的一行。
1)shell 去掉文件名后缀的简单方法:

2)shell调试的常用参数:
http://www.cnblogs.com/chengmo/archive/2010/09/30/1839632.html

1)shell 分割字符串存至数组



上述代码会输出
one
two
three
four

arr=($a)用于将字符串$a分割到数组$arr ${arr[0]} ${arr[1]} ... 分别存储分割后的数组第1 2 ... 项 ,${arr[@]}存储整个数组。变量$IFS存储着分隔符,这里我们将其设为分号 "," OLD_IFS用于备份默认的分隔符,使用完后将之恢复默认。

2)shell查找某个字符串是否存在的方法:


存在ok值为1,不存在则为0.



${desturlLoopPath}


Shell获取字符串的MD5:
echo -n 'hello'|md5sum|cut -d ' ' -f1
命令解释:
md5sum: 显示或检查 MD5(128-bit) 校验和,若没有文件选项,或者文件处为"-",则从标准输入读取。
echo -n : 不打印换行符。
cut:  cut用来从标准输入或文本文件中剪切列或域。剪切文本可以将之粘贴到一个文本文件。
        -d 指定与空格和tab键不同的域分隔符。-f1 表示第一个域。参考这里。
这是unix的shell编程语句,意思是如果上一条命令执行后的结束代码不是0则执行下面的命令,知道fi行之前,例子:

(一)

需要修改的属性:
multiple="multiple"  height:auto;
修改后如下:
<select style="height:auto;width:260px;" id="sel-install-path"  multiple="multiple" >


一:
<select name="select" size="1" multiple="multiple" id="select">
我想给一个常规的select加上: multiple="multiple" Jquery怎么加?
二:
那个height呢?
<select style="height:auto;width:260px;" id="sel-install-path"  multiple="multiple" >
开始是一个固定高度,我想修改为auto,怎么弄?
"height:auto;
<select style="height:auto;width:260px;" id="sel-install-path"  multiple="multiple" >

方法:


如果想删除这个多选的属性:


如何获取这个多选是不是真的多选?

判断时的Js:
multiple换成disabled:

对这个多选的Js的Jquery的操作示例:

返回:
[ "/tmp/projectOne", "/tmp/projectTwo"]

(二)jquery 如何修改<a>标签的内容
<a href="javascript:void(0);" onClick="mutiPathBuShuChoose();" id="mutiPathBuShuChooseHref">多目标</a>
$("a#mutiPathBuShuChooseHref").html("单目标");


整体示例:
Html:

editor是全局:



获取富文本编辑器获取内容:
on this host the function 'date("g")' don't work properly. Now, the function should return 13, but return 7. It has a delay of 6 hours.

Someone can help me?


It probably gets the server timezone, GMT -8
Would setting time zone work in one of your global configuration files?
For example setting time zone to Brisbane, Australia
PHP Code:
http://www.cnblogs.com/in-loading/archive/2012/04/11/2442697.html

http://code.google.com/p/phpquery
发现已经有人做的相当完备了
http://stackoverflow.com/questions/260605/php-css-selector-library
----------------------------------------------------------------------------------------------
JQuery是一个非常著名的JS框架,提供了对DOM文档的完整操作。这个文档处理利器现在终于有了PHP版,也就是说可以使用php操作 HTML或者XML文档,遍历文档的节点,很轻松的取出,填充节点内容。或者简单来说,除了js的事件响应部分,其余的几乎都可以用php来实现。php 对数据处理的能力显然要比JS强大很多,对不熟悉JS的同学来说,phpQuery是个非常强大的帮手。如果了解了phpQuery,那么就很容易理解其 实phpQuery也可以取代一部分Smarty的功能。

我刚刚开始学习使用phpQuery,这应该算一篇学习笔记,我会努力将其向手册风格靠拢,不过不会做成中文手册,仍然会加入我在使用过程中遇到的问题以及解决方案。

开始phpQuery
参考资料:phpQuery JQuery

phpQuery从编程思想到语言风格都是参照JQuery来做的,所以熟悉JQuery的人可以随时对照参考JQuery手册,方便理解。

phpQuery应用举例:

require(’phpQuery/phpQuery.php’);
$file = file_get_contents(”test_phpQuery.html”);
$dom = phpQuery::newDocument($file);  //初始化对象

echo pq(”head > title”)->text(); //输出文档title

pq这个全局函数类似于JQuery中的$()符号,用于执行请求,或者遍历DOM节点。
例子中的”head > title”就是一个选择请求,选择head标签下的title子标签。

pq(”li”); //选择所有文档中的li标签
foreach(pq(”li”) as $item)
=======================================================================
这篇文章主要介绍了phpQuery让php处理html代码像jQuery一样方便,需要的朋友可以参考下

简介
如何在php中方便地解析html代码,估计是每个phper都会遇到的问题。用phpQuery就可以让php处理html代码像jQuery一样方便。
项目地址:https://code.google.com/p/phpquery/
github地址:https://github.com/TobiaszCudnik/phpquery
DEMO
下载库文件:https://code.google.com/p/phpquery/downloads/list
我下的是onefile版:phpQuery-0.9.5.386-onefile.zip
官方demo:https://code.google.com/p/phpquery/source/browse/branches/dev/demo.php
然后在项目中引用。
html文件test.html:


上面的代码中包含了取属性和innerText内容(通过nodeValue取)。
输出:

复制代码代码如下:

array (size=3)
  'name' =>
    array (size=2)
      0 => string 'Spiderman City Drive' (length=20)
      1 => string 'Spiderman - City Raid' (length=21)
  'href' =>
    array (size=2)
      0 => string 'http://www.gahe.com/Spiderman-City-Drive' (length=40)
      1 => string 'http://www.gahe.com/Spiderman-City-Raid' (length=39)
  'img' =>
    array (size=2)
      0 => string 'http://www.gahe.com/thumb/12/Spiderman-City-Drive.jpg' (length=53)
      1 => string 'http://www.gahe.com/thumb/12/Spiderman-City-Raid.jpg' (length=52)

强大的是pq选择器,语法类似jQuery,很方便。
来自:http://www.aspku.com/kaifa/php/46348.html

更多参考:
http://www.cnblogs.com/rmbteam/archive/2011/11/05/2236986.html
实践示例:http://querylist.cc/article/9



分页: 14/18 第一页 上页 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 下页 最后页 [ 显示模式: 摘要 | 列表 ]