1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關咨詢
      選擇下列產品馬上在線溝通
      服務時間:8:30-17:00
      你可能遇到了下面的問題
      關閉右側工具欄

      新聞中心

      這里有您想知道的互聯(lián)網營銷解決方案
      php中如何異步調用方法

      這篇文章主要介紹php中如何異步調用方法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

      成都創(chuàng)新互聯(lián)是一家專注于成都網站建設、成都網站制作與策劃設計,無棣網站建設哪家好?成都創(chuàng)新互聯(lián)做網站,專注于網站建設10余年,網設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:無棣等地區(qū)。無棣做網站價格咨詢:028-86922220

      php異步調用的方法:1、在返回給客戶端的HTML代碼中,嵌入AJAX調用,或者嵌入一個img標簽,src指向要執(zhí)行的耗時腳本;2、使用popen函數打開一個指向進程的管道,該進程由派生給定的command命令執(zhí)行而產生。

      php中如何異步調用方法

      1. 最簡單的辦法,就是在返回給客戶端的HTML代碼中,嵌入AJAX調用,或者,嵌入一個img標簽,src指向要執(zhí)行的耗時腳本。

      這種方法最簡單,也最快。服務器端不用做任何的調用。

      但是缺點是,一般來說Ajax都應該在onLoad以后觸發(fā),也就是說,用戶點開頁面后,就關閉,那就不會觸發(fā)我們的后臺腳本了。

      而使用img標簽的話,這種方式不能稱為嚴格意義上的異步執(zhí)行。用戶瀏覽器會長時間等待php腳本的執(zhí)行完成,也就是用戶瀏覽器的狀態(tài)欄一直顯示還在load。

      當然,還可以使用其他的類似原理的方法,比如script標簽等等。

      2. popen()

      resource popen ( string command, string mode );

      //打開一個指向進程的管道,該進程由派生給定的 command 命令執(zhí)行而產生。打開一個指向進程的管道,該進程由派生給定的 command 命令執(zhí)行而產生。

      所以可以通過調用它,但忽略它的輸出。

      pclose(popen("/home/xinchen/backend.php &", 'r'));

      這個方法避免了第一個方法的缺點,并且也很快。但是問題是,這種方法不能通過HTTP協(xié)議請求另外的一個WebService,只能執(zhí)行本地的腳本文件。并且只能單向打開,無法穿大量參數給被調用腳本。

      并且如果,訪問量很高的時候,會產生大量的進程。如果使用到了外部資源,還要自己考慮競爭。

      3. 使用CURL

      這個方法,設置CUROPT_TIMEOUT為1(最小為1,郁悶)。也就是說,客戶端至少必須等待1秒鐘。

      $ch = curl_init();
      $curl_opt = array(CURLOPT_URL, 'http://www.example.com/backend.php',
                                  CURLOPT_RETURNTRANSFER, 1,
                                  CURLOPT_TIMEOUT, 1,);
      curl_setopt_array($ch, $curl_opt);
      curl_exec($ch);
      curl_close($ch);

      4. 使用fsockopen

      這個方法應該是最完美的,但是缺點是,你需要自己拼出HTTP的header部分。

      $fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
      if (!$fp) {
          echo "$errstr ($errno)
      \n"; } else { $out = "GET /backend.php / HTTP/1.1\r\n"; $out .= "Host: www.example.com\r\n"; $out .= "Connection: Close\r\n\r\n"; fwrite($fp, $out); /*忽略執(zhí)行結果 while (!feof($fp)) { echo fgets($fp, 128); }*/ fclose($fp); }

      所以,總體來看,最好用,最簡單的還是第一種方法。

      最完美的應該是最后一種,但是比較復雜

      以上是php中如何異步調用方法的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


      網站名稱:php中如何異步調用方法
      當前路徑:http://ef60e0e.cn/article/pgcsdo.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        潼南县| 阿拉善左旗| 隆德县| 收藏| 元朗区| 贵阳市| 县级市| 尉氏县| 大连市| 芜湖县| 全椒县| 阿拉善盟| 岗巴县| 镇原县| 阜新市| 永平县| 健康| 山阴县| 太仆寺旗| 象州县| 阳信县| 名山县| 古蔺县| 冀州市| 阿拉善左旗| 武清区| 吉林省| 济宁市| 大理市| 曲阳县| 霍城县| 平塘县| 海淀区| 乌拉特中旗| 奉新县| 白银市| 大同县| 湖南省| 杭锦旗| 阳原县| 调兵山市|