程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP語言實現腳本異步執行

PHP語言實現腳本異步執行

編輯:關於PHP編程

PHP語言實現腳本異步執行


php語言得用fsockopen()函數,實現腳本異步運行,代碼如下

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

main.php

 

 $v){
        $_post[]= $k."=".urlencode($v);//必須做url轉碼以防模擬post提交的數據中有&符而導致post參數鍵值對紊亂
        }
        $_post = implode('&', $_post);
        $header .= "Content-Type: application/x-www-form-urlencoded\r\n";//POST數據
        $header .= "Content-Length: ". strlen($_post) ."\r\n";//POST數據的長度
        $header.="Connection: Close\r\n\r\n";//長連接關閉
        $header .= $_post; //傳遞POST數據
    }else{
        $header.="Connection: Close\r\n\r\n";//長連接關閉
    }
    fwrite($fp, $header);
    //-----------------調試代碼區間-----------------
    //注如果開啟下面的注釋,異步將不生效可是方便調試
    if($debug){
    $html = '';
    while (!feof($fp)) {
    $html.=fgets($fp);
    }
    echo $html;
    }
    //-----------------調試代碼區間-----------------
    fclose($fp);
}

$data=array('name'=>'guoyu','pwd'=>'123456');
$url='http://localhost/test/other.php';
request_by_fsockopen($url,$data,true);//

 

other.php

 



 

使用實例:
[運行的main.php主腳本文件]
$data=array('name'=>'guoyu','pwd'=>'123456');
$url='http://localhost/test/other.php';
request_by_fsockopen($url,$data,true);//把應用B的用戶表異步-同步數據

[導步執行文件other.php]
在other.php中便可以用$_POST接收main.php提交過來的參數,從而進行下一步操作

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved