一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - PHP教程 - PHP編程實(shí)現(xiàn)腳本異步執(zhí)行的方法

PHP編程實(shí)現(xiàn)腳本異步執(zhí)行的方法

2021-06-15 14:02風(fēng)火程序員 PHP教程

這篇文章主要介紹了PHP編程實(shí)現(xiàn)腳本異步執(zhí)行的方法,結(jié)合實(shí)例形式分析了php使用fsockopen()實(shí)現(xiàn)的腳本異步調(diào)用與執(zhí)行操作技巧,需要的朋友可以參考下

本文實(shí)例講述了PHP編程實(shí)現(xiàn)腳本異步執(zhí)行的方法。分享給大家供大家參考,具體如下:

php語言得用fsockopen()函數(shù),實(shí)現(xiàn)腳本異步運(yùn)行,代碼如下

異步請求函數(shù)(用debug參數(shù)若為true則為用為調(diào)試,開啟調(diào)試可以看到異步的執(zhí)行情況,但是失去異步的效果)

main.php

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
function request_by_fsockopen($url,$post_data=array(),$debug=false){
  $url_array = parse_url($url);
  $hostname = $url_array['host'];
  $port = isset($url_array['port'])? $url_array['port'] : 80;
  @$requestPath = $url_array['path'] ."?". $url_array['query'];
  $fp = fsockopen($hostname, $port, $errno, $errstr, 10);
  if (!$fp) {
    echo "$errstr ($errno)";
    return false;
  }
  $method = "GET";
  if(!empty($post_data)){
    $method = "POST";
  }
  $header = "$method $requestPath HTTP/1.1\r\n";
  $header.="Host: $hostname\r\n";
  if(!empty($post_data)){
    $_post = strval(NULL);
    foreach($post_data as $k => $v){
    $_post[]= $k."=".urlencode($v);//必須做url轉(zhuǎn)碼以防模擬post提交的數(shù)據(jù)中有&符而導(dǎo)致post參數(shù)鍵值對紊亂
    }
    $_post = implode('&', $_post);
    $header .= "Content-Type: application/x-www-form-urlencoded\r\n";//POST數(shù)據(jù)
    $header .= "Content-Length: ". strlen($_post) ."\r\n";//POST數(shù)據(jù)的長度
    $header.="Connection: Close\r\n\r\n";//長連接關(guān)閉
    $header .= $_post; //傳遞POST數(shù)據(jù)
  }else{
    $header.="Connection: Close\r\n\r\n";//長連接關(guān)閉
  }
  fwrite($fp, $header);
  //-----------------調(diào)試代碼區(qū)間-----------------
  //注如果開啟下面的注釋,異步將不生效可是方便調(diào)試
  if($debug){
  $html = '';
  while (!feof($fp)) {
  $html.=fgets($fp);
  }
  echo $html;
  }
  //-----------------調(diào)試代碼區(qū)間-----------------
  fclose($fp);
}
$data=array('name'=>'guoyu','pwd'=>'123456');
$url='http://localhost/test/other.php';
request_by_fsockopen($url,$data,true);//

other.php

?
1
2
3
4
5
6
7
8
9
10
11
<?php
header("content-type:text/html;charset=utf-8");
//error_reporting(0);
//ini_set('html_errors',false);
//ini_set('display_errors',false);
$name = isset($_POST['name'])?$_POST['name']:'';
$pwd = isset($_POST['pwd'])?$_POST['pwd']:'';
echo $name.$pwd;
echo 'success ok';
die;
?>

使用實(shí)例:

[運(yùn)行的main.php主腳本文件]

?
1
2
3
$data=array('name'=>'guoyu','pwd'=>'123456');
$url='http://localhost/test/other.php';
request_by_fsockopen($url,$data,true);//把應(yīng)用B的用戶表異步-同步數(shù)據(jù)

[導(dǎo)步執(zhí)行文件other.php]

在other.php中便可以用$_POST接收main.php提交過來的參數(shù),從而進(jìn)行下一步操作

希望本文所述對大家PHP程序設(shè)計(jì)有所幫助。

原文鏈接:http://blog.csdn.net/phpfenghuo/article/details/45132395

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 操比视频| 5g影院天天5g爽天天看 | 欧洲vodafone精品性 | 四虎影院网址大全 | 欧美一卡二卡科技有限公司 | 欧美久久天天综合香蕉伊 | 俄罗斯妈妈235| 免费观看毛片视频 | 男人把大ji巴放进女人小说 | 国产精品久久久久久影视 | 国产欧美日韩不卡一区二区三区 | 天天干女人 | 四虎综合九九色九九综合色 | 精品国产品香蕉在线观看75 | free性丰满hd性欧美人体 | 国产伦精品一区二区三区免费观看 | 美女脱了内裤张开腿亲吻男生 | 天天做天天爽天天谢 | 欧美在线一级片 | 99久精品 | 全黄h全肉细节文在线观看 全彩成人18h漫画 | 亚洲精品第五页 | 天天操免费视频 | 国产精品亚洲精品日韩已满 | 99色在线观看 | 免费一级毛片在级播放 | 扒开双腿羞辱调教play视频 | 特级淫片欧美高清视频蜜桃 | 日本高清免费不卡在线 | 69日本xxxxxxxxx98| 精品国产欧美一区二区五十路 | 亚洲精品视频在线 | 亚洲欧美精品一区天堂久久 | 久久99精品涩AV毛片观看 | 火影忍者羞羞 | 青青青国产成人久久111网站 | 日韩伦理在线免费观看 | 好大水好多好爽好硬好深视频 | 日韩在线观看免费 | 9999视频| 欧美高清在线不卡免费观看 |