Skip to content

About

Easy to use cURL Multi wrapper for PHP

Resources

Stars

134 stars

Watchers

14 watching

Forks

Latest commit

 

History

31 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

RollingCurlX

Rolling Curl X is a fork of Rolling Curl wrapper cURL Multi. It aims at making concurrent http requests in PHP as easy as possible.

License

MIT

Version

3.0.0

Requirements

PHP 5.4+

How to Use

Using this class is very easy.

First initialize class with the maximum number of concurrent requests you want open at a time. All requests after this will be queued until one completes.

$RCX = new RollingCurlX(10);

Next add a request to the queue

$url = 'http://www.google.com/search?q=apples';
$post_data = ['user' => 'bob', 'token' => 'dQw4w9WgXcQ']; //set to NULL if not using POST
$user_data = ['foo', $whatever];
$options = [CURLOPT_FOLLOWLOCATION => false];
function callback_functn($response, $url, $request_info, $user_data, $time) {
    $time; //how long the request took in milliseconds (float)
    $request_info; //array returned by curl_getinfo($ch), plus a couple extras
}

$RCX->addRequest($url, $post_data, 'callback_functn', $user_data, $options, $headers);

Send the requests. Blocks until all requests complete or timeout.

$RCX->execute();

See? Easy. Thats pretty much it for a simple request.

There's more if you need it though...

//Set a timeout on all requests:
$RCX->setTimeout(3000); //in milliseconds

//To set options for all requests(will be overridden by individual request options):
$RCX->setOptions([$curl_options]);

//To do the same with http headers:
$RCX->setHeaders(['Content-type: application/xml', 'Authorization: gfhjui']);

Issues

If you find any issues please let me know.

Enjoy.

http://www.github.com/marcushat/rollingcurlx

About

Easy to use cURL Multi wrapper for PHP

Resources

Stars

134 stars

Watchers

14 watching

Forks

Releases

Packages

Used by

Contributors

Languages