1. Go to this page and download the library: Download pepsia/rolling-curl library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
pepsia / rolling-curl example snippets
$urls = [
'https://en.wikipedia.org/wiki/Moon',
'https://en.wikipedia.org/wiki/Earth',
'https://en.wikipedia.org/wiki/Saturn',
'https://en.wikipedia.org/wiki/Jupiter',
'https://en.wikipedia.org/wiki/Mars'
];
$rollingCurl = new \RollingCurlService\RollingCurl();
foreach ($urls as $key => $url) {
$request = new \RollingCurlService\RollingCurlRequest($url);
// RollingCurlRequest attributes is additional data that can be retrieved in curl callback
$request->setAttributes([
'requestId' => $key // Some ID for the request
]);
$rollingCurl->addRequest($request);
}
$curlResult = [];
$rollingCurl->execute(function ($output, $info, $request) use (& $curlResult)
{
$requestAttributes = $request->getAttributes();
// If request response was OK
if ($info['http_code'] == 200) {
$curlResult[$requestAttributes['requestId']] = $output;
// If request response was KO
} elseif ($info['http_code'] != 200) {
$curlResult[$requestAttributes['requestId']] = 'KO response';
}
});
var_dump($curlResult);
$urls = [
'https://en.wikipedia.org/wiki/Moon',
'https://en.wikipedia.org/wiki/Earth',
'https://en.wikipedia.org/wiki/Saturn',
'https://en.wikipedia.org/wiki/Jupiter',
'https://en.wikipedia.org/wiki/Mars'
];
$rollingCurl = new \RollingCurlService\RollingCurl();
foreach ($urls as $key => $url) {
$request = new \RollingCurlService\RollingCurlRequest($url);
$request->setFileToWrite('/my/path/my_file.txt');
// This also supports an FTP target: 'ftp://user:pass@host/my/path/my_video.mp4'
$rollingCurl->addRequest($request);
}
$filesCount = 0;
$rollingCurl->execute(function ($output, $info, $request) use (& $filesCount)
{
if ($info['http_code'] == 200) {
$filesCount++;
// If a file write path was provided => output was written directly to file
}
});
var_dump($filesCount);
$urls = [
'https://en.wikipedia.org/wiki/Moon',
'https://en.wikipedia.org/wiki/Earth',
'https://en.wikipedia.org/wiki/Saturn',
'https://en.wikipedia.org/wiki/Jupiter',
'https://en.wikipedia.org/wiki/Mars'
];
$rollingCurl = new \RollingCurlService\RollingCurl();
foreach ($urls as $key => $url) {
$request = new \RollingCurlService\RollingCurlRequest($url);
$rollingCurl->addRequest($request);
}
// Set options for all requests by passing options array
$rollingCurl->setOptions([
CURLOPT_MAXREDIRS => 5,
CURLOPT_TIMEOUT => 60,
]);
$rollingCurl->execute();
$urls = [
'https://en.wikipedia.org/wiki/Moon' => [CURLOPT_TIMEOUT => 15],
'https://en.wikipedia.org/wiki/Earth' => [CURLOPT_TIMEOUT => 5],
'https://en.wikipedia.org/wiki/Saturn' => [CURLOPT_TIMEOUT => 25],
'https://en.wikipedia.org/wiki/Jupiter' => [CURLOPT_TIMEOUT => 10],
'https://en.wikipedia.org/wiki/Mars' => [CURLOPT_TIMEOUT => 15]
];
$rollingCurl = new \RollingCurlService\RollingCurl();
/*
If setOptions() optional "addToGlobalOptions" param is set to TRUE the cURL options
for that single request will be added to the global options instead of replacing them.
*/
foreach ($urls as $url => $options) {
$request = new \RollingCurlService\RollingCurlRequest($url);
$request->setOptions($options, TRUE);
$rollingCurl->addRequest($request);
}
$rollingCurl->execute();
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.