function post_content($url, $postdata) { //в этой функции устанавливаю опции для post запроса $ch = curl_init($url); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_ENCODING, ""); curl_setopt($ch, CURLOPT_USERAGENT, $uagent); curl_setopt($ch, CURLOPT_TIMEOUT, 120); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata); curl_setopt($ch, CURLOPT_HEADERFUNCTION, 'read_header'); $content = curl_exec($ch); $err = curl_errno($ch); $errmsg = curl_error($ch); $header = curl_getinfo($ch); curl_close($ch); } function read_header($ch, $string) //сдесь парсим входящие куки { global $cookiearr; global $ch; $length = strlen($string); if(!strncmp($string, "Set-Cookie:", 11)) { $cookiestr = trim(substr($string, 11, -1)); $cookie = explode(';', $cookiestr); $cookie = explode('=', $cookie[0]); $cookiename = trim(array_shift($cookie)); $cookiearr[$cookiename] = trim(implode('=', $cookie)); } $cookie = ""; if(trim($string) == "") { foreach ($cookiearr as $key=>$value) { $cookie .= $key."=".$value.";"; } curl_setopt($ch, CURLOPT_COOKIE, $cookie); // при попытке выставить распарсенные куки вылетает ошибка } return $length; } не могу понять что не нравиться CURLOPT_COOKIE, $cookie перед отправкой смотрел через var_dump() они такие же как сервер их устанавливает с помощью заголовка set-cookie. Warning: curl_setopt() expects parameter 1 to be resource, null given in Если кто может помочь плз тыкните пальцем, буду очень признателен.
Переменная $ch создаётся внутри функции post_content() , соответственно только там она и доступна. Внутри функции read_header() просто нет этой переменной.