- 有返回结果的
- $fp = fsockopen("www.34ways.com", 80, $errno, $errstr, 30);
- if (!$fp) {
- echo "$errstr ($errno)<br />\n";
- } else {
- $out = "GET /index.php / HTTP/1.1\r\n";
- $out .= "Host: www.34ways.com\r\n";
- $out .= "Connection: Close\r\n\r\n";
- fwrite($fp, $out);
- /*忽略执行结果
- while (!feof($fp)) {
- echo fgets($fp, 128);
- }*/
- fclose($fp);
- }
- 可用于 Web 程序中,那就是用fsockopen()、fputs() 来请求一个 URL 而无需等待返回,如果你在那个被请求的页面中做些事情就相当于异步了
- $fp=fsockopen('localhost',80,&$errno,&$errstr,5);
- if(!$fp){
- echo "$errstr ($errno)<br />\n";
- }
- fputs($fp,"GET another_page.php?flag=1\r\n");
- fclose($fp);
比如,一个很切实的应用,某个 Blog 在每 Post 了一篇新日志后需要给所有它的订阅者发个邮件通知
a.php中日志写完 -> 点提交按钮 -> 日志插入到数据库 --->
告知撰写者发布成功
b.php 中发送邮件通知 -> [记下日志]
摘自https://blog.youkuaiyun.com/dazhi_100/article/details/46806519
本文介绍如何使用PHP的fsockopen()和fputs()函数实现异步请求URL,无需等待响应,适用于邮件通知等场景。通过示例代码展示如何在不阻塞的情况下请求另一个页面。
720

被折叠的 条评论
为什么被折叠?



