寒窗轩,寒川的个人网络博客,记录互联网事,学习网络编程、分享工作经验、人生感悟,包括但不限于程序代码、数据库、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 5 0 5887 php编程php多线程
文章写得不错?我是土豪我要在线打赏!
在线打赏

昵称:

验证码:验证码

评论:

文章分类
系统
程序
数据
Office
随笔
热门文章
Excel文件内容很少,但文件很大,打开很慢、很卡怎么办?
Excel动态引用各表格指定单元格数据
开篇第一章
Excel文件内容很少,但文件很大,打开很慢怎么办?
如何利用python修改文件的创建时间,修改时间,访问时间
发现一个好网站——春燕文档
Ubuntu22.04中用thunar替换默认文件管理器,提示无法启动“TerminalEmulator“的首选应用程序
MySQL如何按每个分类查询10条数据,即MySQL如何每个分类查询10条数据
文章推荐
请不要奇怪,为什么最近博客的文章是几年前的内容
免责声明
关于博主
开篇第一章
随机推荐
两天整了份简报。。。。
本博客的发展方向
Excel如何批量替换字符串?讲解Excel的字符替换函数SUBSTITUTE
Linux VS Windows 究竟哪个系统更好之思考
google新版搜索居然为“咖啡因”
是否我们都老了?
随机三位数相加减的php验证码程序
MeeGo系统手机横空出世了。。。
PHP以Excel模板填充数据并生成新的Excel文件
html 5学习-audio标签插入音乐
友情连接
春燕网络
春燕文档
谢润的博客