易截截图软件、单文件、免安装、纯绿色、仅160KB

PHP多进程协作编程之 socket

基本思路:通过SOCKET请求其他PHP脚步,实现PHP的多进程的异步执行。
废话就不多说了,请看下面的脚步并执行之。
<?php
//a.php
function runThread(){
$fp = fsockopen('127.0.0.1', 82, $errno, $errmsg);
fputs($fp, "GET /a.php?act=b\r\n"); //这里的第二个参数是HTTP协议中规定的请求头
//不明白的请看RFC中的定义
fclose($fp);
}
function a(){
$fp = fopen('result_a.log', 'w');
fputs($fp, 'Set in ' . Date('h:i:s', time()) . (double)microtime() . "\r\n");
fclose($fp);
}
function b(){
$fp = fopen('result_b.log', 'w');
fputs($fp, 'Set in ' . Date('h:i:s', time()) . (double)microtime() . "\r\n");
fclose($fp);
}
if(!isset($_GET['act'])) $_GET['act'] = 'a';
if($_GET['act'] == 'a')
{
runThread();
a();
echo 'ok';
}
else if($_GET['act'] == 'b') {
b();
}
?>
通过观察result_a.log与result_b.log:
result_a.log:  Set in 03:45:560.293005
result_b.log:  Set in 03:45:560.296877
我们发现,先写了result_a.log文件后写了result_b.log,这说明两个进程是异步执行的。 


相关文档:

PHP初学者头痛的十四个问题

1.页面之间无法传递变量
get,post,session在最新的php版本中自动全局变量是关闭的,所以要从上一页面取得提交过来得变量要使用$_GET['foo'],$_POST['foo'],$_SESSION['foo']来得到。当然也可以修改自动全局变量为开(php.ini改为register_globals = On);考虑到兼容性,还是强迫自己熟悉新的写法比较好。
 
2.Win32 ......

PHP进度条效果

用PHP实现进度条效果。
<?php
set_time_limit(0);
echo '<h2>正在安装,请稍后...</h2>',
'<div style="border:1px solid #000;width:500px;"><div id="progress_bar">loading...</div></div>';
for($i=1;$i<=100;$i++){
$width = '500';
......

php文件上传类

 
<?php
  /**
  * PHP100.com - 个人感觉非常简单,只要有点PHP基础滴人都应该能看懂~~
  * Apache2 + PHP5.0
  * Version:1.0
  * 同时感谢PHP100所有的兄弟们
  * ——————————————&m ......

Linux + Apache2.0 + Mysql + PHP + phpBB3.0

 Linux + Apache2.0 + Mysql + PHP + phpBB3.0
 1.安包:
   Apache2.0
         #tar -zxf httpd-***.tar.gz -C /usr/local/src/
         #cd /usr/local/src/httpd-***
       ......

PHP Array实用函数参考

array_flip
交换数组中的键和值
$arr1 = array('a'=>1,'b'=>2,'c'=>3,'d'=>4);
$array = array_flip($arr1);
showArr($array);
/*
Array
(
[1] => a
[2] => b
[3] => c
[4] => d
)
*/
array_key_exists
 
检查给定的键名或索引是否存在于数组中(也可用于对象 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号