如何使用curl多次包含一个PHP页面

时间:2014-01-04 05:49:40

标签: php curl include

如果我不止一次包含此页面。

$json_file = @curl("http://api.justin.tv/api/stream/list.json?channel={$stream}");
$json_array = json_decode($json_file, true);

if (strtolower($json_array[0]['name']) == strtolower("live_user_{$stream}")) {
    echo '<img src="http://www.pvpallday.com/streams/' . $stream . '_on.gif" />';
} else {
    echo 'off';
}

function curl($url, $post = null, $retries = 3) {
    $curl = curl_init($url);

    if (is_resource($curl) === true) {
        curl_setopt($curl, CURLOPT_FAILONERROR, true);
        curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

        if (isset($post) === true) {
            curl_setopt($curl, CURLOPT_POST, true);
            curl_setopt($curl, CURLOPT_POSTFIELDS, (is_array($post) === true) ? http_build_query($post, "", "&") : $post);
        }

        $result = false;

        while (($result === false) && ( --$retries > 0)) {
            $result = curl_exec($curl);
        }

        curl_close($curl);
    }
    return $result;
}

我在网页上多次出现卷曲时遇到错误。有没有发生这种情况并且仍然在一个页面上有多个包含它?

1 个答案:

答案 0 :(得分:0)

将您的功能包裹在function_exists

if(!function_exists('curl')) {

     function curl($url, $post = null, $retries = 3) {

请注意,您获得的错误与curl.无关 它发生在你的书面函数curl在第一个include中定义,当另一个include被执行时,php尝试再次重新定义该函数。