hey, i thought many people will like that.
I just wanted to help, so this PHP class may help some people who need it.
it's not a script, neither a software, it's a class used by developers to be integrated in their scripts.
How about cookies, proxies and other curl option??
well, everybody know curl_setopt_array(), you need to create an array, put all your configs there and pass it to the class using
setCurlOpts(). But keep in mind, these settings will be overwritten:
  • CURLOPT_RETURNTRANSFER
  • CURLOPT_FOLLOWLOCATION
  • CURLOPT_BINARYTRANSFER
  • CURLOPT_FRESH_CONNECT
  • CURLOPT_CONNECTTIMEOUT
  • CURLOPT_FILE
  • CURLOPT_RANGE


Included Functins
this is a list of function made in the class

  • activeLog() - true or false - to desactivate activate log - log file is created in tempdir
  • setUrl() - sets the url to download
  • setParts() - number of connection (parts) to be created
  • setCookies() - set the cookies string to be passed with the curl request
  • setTempDir() - must be absolute parth, if not found, it will be created
  • setProgressCallback() - enable progressbars
  • setDownloadDir() - must be absolute parth, if not found, it will be created
  • setCurlOpts() - this is the function allowing you to set your cookies, proxies and other option as an array of curl options.
  • getFileSize() - you may use it to get the file size of a url
  • isMT() - check if the given url supports multithreaded connection
  • download() - the most important function lol
  • slow_download() - force CurlAxel to download file using 1 connection
  • fast_download() - force CurlAxel to download file using multiple connection


Version
curent version is 0.5 30/10/11
still have lots of work to do, but i need your feedback!

Example how to use it
It's pretty simple!
PHP Code: 
$fileurl "++ url here ++";
$curlaxel = new CurlAxel;
$curlaxel->setUrl($fileurl);
$curlaxel->activeLog(true);
$curlaxel->download(); 
and you will get your file with the fastest speed ever

Want to see progressbars?
It's pretty simple! (see test.php also)
PHP Code: 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
        <script src="js/jquery.js"></script>
        <script src="js/jquery.progressbar.min.js"></script>
    </head>
    <body>
<?php
ini_set
('error_reporting'E_ALL);
ini_set('display_errors'1);
include 
'CurlAxel.php';
//$fileurl = "http://cachefly.cachefly.net/100mb.test";
$fileurl "http://93.190.137.8/1000mb.bin";

echo 
"downloading $fileurl <br>";
$curlaxel = new CurlAxel;
$curlaxel->setUrl($fileurl);  
$curlaxel->setProgressCallback(); 
$curlaxel->setBufferSize(32*1024*1024);
$curlaxel->activeLog(true); 
$curlaxel->download();
to use the progress bar, you need to integrate jquery and jquery progressbar plugin into your page. Here is what to do:
Code: 
<head>
	<script src="js/jquery.js"></script>
	<script src="js/jquery.progressbar.min.js"></script>
</head>


I'd like to see people using this and providing feedback, if you see an error just activate the log and make a reply here, or contact me directly.
pleas keep it away from commercial use.

Special thanks to CuraHack who motivated me and gave me a great development environment


changelog
version 0.5 30/10/11
  • improved link checking method
  • added 100% working detailed progress bar (see docs for more infos)
  • some code cleanup

version 0.2 16/10/11
  • added support for various server responses
  • fixed filesize issue when requested server doesn't allow download accelerating
  • added support for cookies (passed as string)
  • added support for standard curl progress callback functon

version 0.1 29/08/11
  • small bug fixes
  • added GNU GPL 3 licence

version 0.1b beta 27/08/11
  • added optional buffersize to merge files. can be set though setBufferSize (in bytes).the default buffersize is 64Mb

version 0.1a beta 27/08/11
  • updated useragent choice as Robin H requested. now mozilla is the default user agent, but can be changed using user curl options array


jokerhacker Reviewed by jokerhacker on . CurlAxel - PHP file download accelerator http://i28.lulzimg.com/e5b0e69371.png hey, i thought many people will like that. I just wanted to help, so this PHP class may help some people who need it. it's not a script, neither a software, it's a class used by developers to be integrated in their scripts. How about cookies, proxies and other curl option?? well, everybody know curl_setopt_array(), you need to create an array, put all your configs there and pass it to the class using setCurlOpts(). But keep in mind, these settings Rating: 5