国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP編程實現腳本異步執行的方法

2024-05-04 23:59:19
字體:
來源:轉載
供稿:網友

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

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

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

main.php

<?phpfunction 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轉碼以防模擬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

<?phpheader("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;?>

使用實例:

[運行的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提交過來的參數,從而進行下一步操作

希望本文所述對大家PHP程序設計有所幫助。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 河北省| 登封市| 雅江县| 芮城县| 赣榆县| 雷山县| 梓潼县| 马关县| 巴里| 南乐县| 鄯善县| 镇宁| 玉溪市| 剑河县| 澄迈县| 苏尼特右旗| 台南县| 阜新| 通许县| 永靖县| 广汉市| 呼伦贝尔市| 乌审旗| 合山市| 麻江县| 嘉义市| 寿阳县| 静海县| 万山特区| 贵州省| 临夏县| 耒阳市| 海口市| 新化县| 乐清市| 华亭县| 平度市| 陆良县| 绥江县| 昭觉县| 绥江县|