2017-07-24 97 views
0

如果文件存在/不存在,我的捲曲函數返回200。CURL函數 - 即使沒有文件也返回200

我是新來的。

請幫忙。

function emona_curl_func ($url) { 

    global $wp; 
    $current_url = home_url(add_query_arg(array(),$wp->request)); 
    $url = $current_url.'/'; 

    $ch = curl_init($url); 
    echo $ch; 
    curl_setopt($ch, CURLOPT_NOBODY, true); 
    curl_exec($ch); 
    $code = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
    echo $code; 
    if($code == 200){ 
     $status = true; 
    }else{ 
     $status = false; 
    } 

    curl_close($ch); 
    return $code; 

} 
+0

您確定即使網頁不存在,您嘗試訪問的網址也不會以200 OK回覆嗎?該網站可能有一個「全部通過」路線,只是不設置正確的http狀態碼? –

+0

不包含該文件的頁面也返回200。如果頁面不存在,它將重定向到404. – Chinou

+0

_「不包含文件的頁面」_是什麼意思?與_「如果頁面不存在」_有什麼不同? –

回答

0

因爲我剛剛接觸這個捲曲,我對這麼多事情感到困惑。最後我找到了解決方案。

在functions.php文件

 function test_curl_func ($url) { 

       $curl = curl_init($url); 

       curl_setopt($curl, CURLOPT_NOBODY, true); 

       $result = curl_exec($curl); 

       $ret = 0; 

       //if request did not fail 
       if ($result !== false) { 

        //if request was ok, check response code 
        $statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE); 

        if ($statusCode == 200) { 
         $ret = 1; 
        }else { 
         $ret = 0; 
        } 
       } 
       curl_close($curl); 

       return $ret; 

     } 

在我的PHP文件我已經檢查了文件是否存在,

 if (test_curl_func($brochure_url) == 1) 

經過從捲曲功能狀態是否是真實的。如果是,則顯示相應的文件。

相關問題