- Joined
- Aug 19, 2007
- Messages
- 4,941
- Solutions
- 11
- Reaction score
- 352
PHP:
class cDownloader
{
const DPATH = "./downloads/";
const TIMEOUT = 36000;
static function getFileName($url)
{
$ret = explode("/", $url);
if(!end($ret))
return false;
return end($ret);
}
static function downloadFile($file, $saveAs, $folder = "")
{
$folder = self::DPATH.$folder;
echo $folder;
$out = array();
$ret = fopen($folder.$saveAs, "w+");
if($ret == false)
return false;
$ch = curl_init();
curl_setopt($ch, CURLOPT_FILE, $ret);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_URL, $file);
curl_setopt($ch, CURLOPT_TIMOUET, self::TIMEOUT);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$out['result'] = curl_exec($ch);
$out['spd'] = curl_getinfo($ch, CURLINFO_SPEED_DOWNLOAD);
curl_close($ch);
return $out;
}
static function isURLAvailable($url)
{
$mimes = array();
$ch = curl_init();
curl_setopt_array($ch, array(CURLOPT_FOLLOWLOCATION => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_URL => $url, CURLOPT_NOBODY => true, CURLOPT_TIMEOUT => 30));
curl_exec($ch);
$retval = curl_getinfo($ch, CURLINFO_HTTP_CODE) == 200;
curl_close($ch);
return $retval;
}
static function convertBytes($int)
{
$symbol = array('B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB');
$exp = 0;
$converted_value = 0;
if($int > 0)
{
$exp = floor(log($int) / log(1024));
$converted_value = ($int / pow(1024, floor($exp)));
}
return sprintf('%.2f '.$symbol[$exp], $converted_value);
}
static function isValidFileName($str)
{
$v = "abcdefghijklmnoprstuwxyqzvABCDEFGHIJKLMNOPRSTUWXYQZV1234567890. ";
$check = strspn($str, $v);
if($check !== strlen($str))
return false;
else
return preg_match("/[a-zA-Z0-9,. ]{1,40}/", $str);
}
static function isValidURL($str)
{
return filter_var($str, FILTER_VALIDATE_URL);
}
}
takie cos?