簡體   English   中英

命中多個網址,但未在php中獲得響應

[英]Hit multiple url without getting response in php

我的數據庫中有多個網址,並且想在不使用php的情況下點擊它們。

有沒有辦法做到這一點。

public function multiUrlUsingCurl($urls)
{
        $sg = curl_multi_init();

        $results = array();
        foreach ($urls as $key => $url) {

            $results[$key] = curl_init();
            curl_setopt_array($results[$key], array(
                CURLOPT_URL => $url,
                CURLOPT_RETURNTRANSFER => true,
                CURLOPT_FOLLOWLOCATION => true
            ));

            curl_multi_add_handle($sg, $results[$key]);
        }

        $flag = null;
        do {
            $status = curl_multi_exec($sg, $flag);
        }
        while ($flag);

        foreach ($results as $res) {
            echo curl_multi_getcontent($res);
            curl_multi_remove_handle($sg, $res);
            curl_close($res);
        }

        curl_multi_close($sg);
}

然后,您必須將條目保存為ASCII格式或序列化字符串(如json)的文件,也可以將其保存為xml。 但我建議您將其保存為json字符串。 它非常簡單。

編輯:

可以幫助您快速入門的摘要:

function getUrlList($fileName)
{
    if(file_exists($fileName)) {
        return json_decode(file_get_contents($fileName), true);
    }
    return array();
}

function saveUrl($fileName, $newUrl)
{
    if(file_exists($fileName)) {
        $list = json_decode(file_get_contents($fileName), true);
        $list = array_merge($list, $newUrl);
        file_put_contents($fileName, json_encode($list));
        return true;
    }
    return false;
}

$fileName = 'myFileDB.json';
$UrlToSave = array('id' => uniqid(), 'url' => someUrlYouWantToSave);
saveUrl($fileName, $urlToSave);    // To save Url

// To get List
$urlsList = getUrlList($fileName);

從那里,您可以擴展功能以編輯URL或執行其他一些操作來處理數據。 您還必須確保要將URL保存到的文件中有一個空的json字符串。 您要么編寫一些邏輯來做到這一點,要么出於簡單原因將{}放在文件中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM