Пределать fopen в cURL

Статус
В этой теме нельзя размещать новые ответы.

nixxx

Постоялец
Регистрация
24 Ноя 2006
Сообщения
82
Реакции
46
Хостер разрешает исходящие соединения только через cURL. Помогите переделать код:

PHP:
$xml = "";
    $handle = fopen($apicall, "r");
    if (!$handle) return '';
    while (!feof($handle)){
        $xml .= fread($handle, 8192);
    }
    fclose($handle);
 
    if(isset($xml['FindItemsAdvancedResponse']['Errors']))
        return "";
    //prnx($xml);
    return $xml;
}
Будет ли скрипт работать медленнее или больше грузить сервер?
 
PHP:
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_TIMEOUT, 120);
    $xml=curl_exec($ch);
    curl_close($ch);
 
    if(isset($xml['FindItemsAdvancedResponse']['Errors']))
        return "";
    //prnx($xml);
    return $xml;
}
только $url вставь что там у тебя
 
Думаю такое пойдёт
PHP:
$xml = "";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $apicall);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    $xml=curl_exec($ch);
    curl_close($ch); 
    if(isset($xml['FindItemsAdvancedResponse']['Errors']))
        return "";
    //prnx($xml);
    return $xml;
}
оппа...
думаю одни пост можно удалить
 
Да, теперь всё заработало. А как насчет нагрузки на сервер?
 
Курл - библиотека, работает быстро, нагрузок не даст ;)
 
нагрузку не даст большую, как впринципе и большинство функций. Дело в том как их использовать, если открывать много соединений и потом обрабатывать результат каким нибудь извращенным способом, да и еще в базу писать паралельно, то нагрузка может быть приличной....
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху