中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP如何用fsockopen函數實現異步請求

發布時間:2020-06-08 22:41:32 來源:億速云 閱讀:310 作者:Leah 欄目:編程語言

這篇文章主要介紹了PHP使用fsockopen實現異步請求的方法,具有一定借鑒價值,需要的朋友可以參考下。如下資料是關于實現異步請求的詳細步驟內容。

我們創建了一個基于fsockopen的函數,這個函數中利用fsockopen去訪問url,但是在訪問時,并不要求獲取url顯示的內容,而是僅僅發出訪問請求,請求到達后馬上關閉這個訪問。

這樣做的好處就是無需再等待被訪問的url是否返回了可靠的信息,節約了時間,這段代碼的執行時間在0.1-0.2秒之間,對于普通訪客而言,幾乎察覺不到。因此,在使用時,僅需要調用這個函數和對應的url即可。不過,這里并沒有提供數據傳輸的部分,如何傳輸數據,其實只需要在$header中增加post的內容即可。

/**
 * @生生 2018/12/24 19:25:06
 * [asynchronous PHP異步執行任務]
 * @param  string $url       執行任務的url地址
 * @param  array  $post_data 需要post提交的數據POST
 * @param  array  $cookie    cookie數據用于登錄等的設置(此處內部調用,無需鑒權)
 * @return boole
 */
public function asynchronous($url,$post_data = array())
{
    $url_array = parse_url($url);
    dump($url_array);
    //用fsockopen()嘗試連接 
    $fp = fsockopen($url_array['host'], 80, $errno, $errstr, 30);
    if (!$fp) {
        echo "$errstr ($errno)<br />\n";
    } else {
        //建立成功后,向服務器寫入數據 
        $getPath = isset($url_array['path']) ? $url_array['path'] : '/';
        $out = "GET /".$getPath."/ HTTP/1.1\r\n";
        $out .= "Host:".$url_array['host']."\r\n";
        $out .= "Connection: Close\r\n\r\n";
       
        fwrite($fp, $out);
        /*忽略執行結果
        while (!feof($fp)) {
            echo fgets($fp, 128);
        }*/
        //關閉鏈接
        fclose($fp);
    }
}

調用方法

/**
*  異步方法
*  參數:(string)要執行的方法url,(array)傳入參數
*/
function yibu(){
    $this->asynchronous('https://www.liqingbo.cn/index.php/admin/index/test',['1'=>'haha']);
    //直接返回結果
    echo '操作成功';
}

以上就是PHP使用fsockopen實現異步請求的方法介紹,詳細使用情況還得要大家自己使用過才能知道具體要領。如果想閱讀更多相關內容的文章,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

黄梅县| 平顶山市| 石门县| 汉阴县| 佛坪县| 蕲春县| 沛县| 阳曲县| 克拉玛依市| 孝感市| 高清| 汶川县| 泊头市| 县级市| 江山市| 独山县| 阿拉善左旗| 敦煌市| 内丘县| 云霄县| 株洲县| 南溪县| 谢通门县| 白河县| 小金县| 永城市| 临沭县| 乐业县| 梧州市| 荔浦县| 泗洪县| 大石桥市| 湾仔区| 新野县| 基隆市| 濮阳市| 玉山县| 丘北县| 永修县| 璧山县| 柳林县|