note 91045 added to function.curl-setopt

From: Date: Fri, 22 May 2009 05:45:59 +0000
Subject: note 91045 added to function.curl-setopt
Groups: php.notes 
Request: Send a blank email to php-notes+get-155867@lists.php.net to get a copy of this message
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 ?> ---- Server IP: 209.41.74.194 Probable Submitter: 207.173.207.151 ---- Manual Page -- http://www.php.net/manual/en/function.curl-setopt.php Edit -- https://master.php.net/note/edit/91045 Del: integrated -- https://master.php.net/note/delete/91045/integrated Del: useless -- https://master.php.net/note/delete/91045/useless Del: bad code -- https://master.php.net/note/delete/91045/bad+code Del: spam -- https://master.php.net/note/delete/91045/spam Del: non-english -- https://master.php.net/note/delete/91045/non-english Del: in docs -- https://master.php.net/note/delete/91045/in+docs Del: other reasons-- https://master.php.net/note/delete/91045 Reject -- https://master.php.net/note/reject/91045 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#155867) next »