寒窗轩,寒川的个人网络博客,记录互联网事,学习网络编程、分享工作经验、人生感悟,包括但不限于程序代码、数据库、Office办公、随笔等内容。

我也玩玩php多线程

一哥们准备开发个自动审核文章的小功能,找到我说需要php多线程执行,这可伤透脑筋了。为了这个多线程,绞尽脑汁,忙活了整整一天的时间,网上百度google了很久,还是没找到很好的办法解决。他的具体功能要求如下:两个php文件,a.php和b.php,但b.php中设置有sleep()函数,固b.php执行时间很长,同时需要用a.php来触发使b.php运行。我考虑过用服务器端include,require等,将b.php包含到a.php中,却因执行时间太长而放弃,也考虑过在a.php中输出<img src b.php>的方式,但是加载时间还是比较长,昨天晚上想到用ajax,效果貌似还将就,不过挺麻烦的。开始突发奇想,貌似curl应该能实现提交数据,正在网上搜索时突然又发现了fsockopen()函数,我的神啊!你对我太好了。问题顿然消除,废话不多说,赶快上菜:

以本博客域名测试如下:
a.php文件如下:

<?php

function runthread()
{
 $fp = fsockopen("huikon.cn", 80, $errno, $errstr, 5);//修改对应部分
if (!$fp) {
     echo "$errstr ($errno)<br />\n";
} else {
    $out = "GET /fuck/b.php / HTTP/1.1\r\n";//修改对应部分 http://huikon.cn/fuck 文件夹
    $out .= "Host: huikon.cn\r\n";//修改对应部分
    $out .= "Connection: Close\r\n\r\n";

    fwrite($fp, $out);
    /*输出执行过程
    while (!feof($fp)) {
         echo fgets($fp, 128);
     }
  */
    fclose($fp);
}
}

    function a()
    {//记录日志用
  $open=@fopen('a.log',"ab ");
        fwrite($open,"时间:".date("Y-m-d H:i:s").chr(10));
  fclose($open);     
    }
 runthread();
 a();
 echo '我爱美女,表明已经加载完毕!';
?>

b.php文件如下:

<?php

set_time_limit(30);
 $open=@fopen('b.log',"ab ");
         fwrite($open,"时间:".date("Y-m-d H:i:s").chr(10));
fclose($open);

//暂停 n 秒
sleep(10);

//重新开始
 $open=@fopen('b.log',"ab ");
         fwrite($open,"时间:".date("Y-m-d H:i:s").chr(10));
fclose($open);

?>

程序 2010-05-20 22:32:44 36 0 7304 php编程php多线程
文章写得不错?我是土豪我要在线打赏!
在线打赏

昵称:

验证码:验证码

评论:

文章分类
系统
程序
数据
Office
随笔
热门文章
python读取文件夹下图片并生成pdf文件
VB.net开发的word转pdf的小工具
使用python把word转成pdf
文章推荐
免责声明
关于博主
开篇第一章
随机推荐
Excel动态引用各表格指定单元格数据
简单的一个asp的分页程序
Internet Relay Chat(IRC)聊天命令
(转)中国人必须知道的柒拾陆个常识
小技巧,让ul中li分列显示
帮朋友诚聘php程序员
停电
VB.net开发的word转pdf的小工具
php zend加密破解软件
写在老哥生日
友情连接
春燕网络
谢润的博客
企安文档