note 91045 deleted from function.curl-setopt by danbrown

From: Date: Fri, 22 May 2009 14:44:46 +0000
Subject: note 91045 deleted from function.curl-setopt by danbrown
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-155883@lists.php.net to get a copy of this message
Note Submitter: larryphp at MrPinhole.com ---- Excellent class. Got me up and running in minutes. I changed the error message return to happen before closing the session. Otherwise you get an invalid handle for the error. <?PHP /* Sean Huber CURL library This library is a basic implementation of CURL capabilities. It works in most modern versions of IE and FF. ==================================== USAGE ==================================== It exports the CURL object globally, so set a callback with setCallback($func). (Use setCallback(array('class_name', 'func_name')) to set a callback as a func that lies within a different class) Then use one of the CURL request methods: get($url); post($url, $vars); vars is a urlencoded string in query string format. Your callback function will then be called with 1 argument, the response text. If a callback is not defined, your request will return the response text. */ class CURL { var $callback = false; function setCallback($func_name) { $this->callback = $func_name; } function doRequest($method, $url, $vars) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt'); if ($method == 'POST') { curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $vars); } $data = curl_exec($ch); if ($data) { if ($this->callback) { $callback = $this->callback; $this->callback = false; return call_user_func($callback, $data); } else { curl_close($ch); return $data; } } else { $curl_err = curl_error($ch); curl_close($ch); return $curl_err; } } function get($url) { return $this->doRequest('GET', $url, 'NULL'); } function post($url, $vars) { return $this->doRequest('POST', $url, $vars); } } // class ?>

« previous php.notes (#155883) next »