Файл: adultscript-2.0.3-pro/files/libraries/framework/curl.php
Строк: 61
<?php
defined('_VALID') or die('Restricted Access!');
define('CURL_VERBOSE', false);
define('CURL_PROGRESS', true);
define('CURL_TIMEOUT', 3000);
class VCurl
{
public static function string($url, $cookie=NULL, $referer = null, $timeout = CURL_TIMEOUT)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_VERBOSE, CURL_VERBOSE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_NOPROGRESS, CURL_PROGRESS);
curl_setopt($ch, CURLOPT_USERAGENT, '"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.11) Gecko/20071204 Ubuntu/7.10 (gutsy) Firefox/2.0.0.11');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
if ($referer) {
curl_setopt($ch, CURLOPT_REFERER, $referer);
}
if ( $cookie ) {
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
}
$string = curl_exec($ch);
if (curl_errno($ch)) {
echo var_dump(curl_error($ch));
return FALSE;
}
curl_close($ch);
return $string;
}
public static function post($url, $options=array(), $cookie=NULL)
{
$ch = curl_init();
}
public static function headers($url, $cookie=NULL)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, CURL_TIMEOUT);
curl_setopt($ch, CURLOPT_VERBOSE, CURL_VERBOSE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_NOPROGRESS, CURL_PROGRESS);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.11) Gecko/20071204 Ubuntu/7.10 (gutsy) Firefox/2.0.0.11');
if ( $cookie ) {
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
}
curl_exec($ch);
if( curl_errno($ch) ) {
return FALSE;
}
curl_close($ch);
fclose($fh);
if( filesize($file) > 10 ) {
return TRUE;
}
return FALSE;
}
public static function file($url, $file, $cookie = null, $referer = null)
{
$ch = curl_init();
$fh = fopen($file, 'w');
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FILE, $fh);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, CURL_TIMEOUT);
curl_setopt($ch, CURLOPT_VERBOSE, CURL_VERBOSE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_NOPROGRESS, CURL_PROGRESS);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.11) Gecko/20071204 Ubuntu/7.10 (gutsy) Firefox/2.0.0.11');
if ($referer) {
curl_setopt($ch, CURLOPT_REFERER, $referer);
}
if ($cookie) {
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
}
curl_exec($ch);
if( curl_errno($ch) ) {
return FALSE;
}
curl_close($ch);
fclose($fh);
if( filesize($file) > 10 ) {
return TRUE;
}
return FALSE;
}
public static function size($url, $cookie=NULL)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_NOBODY, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, CURL_TIMEOUT);
curl_setopt($ch, CURLOPT_VERBOSE, FALSE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_USERAGENT, '"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.11) Gecko/20071204 Ubuntu/7.10 (gutsy) Firefox/2.0.0.11');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
if ( $cookie ) {
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
}
$head = curl_exec($ch);
if ( curl_errno($ch) ) {
return FALSE;
}
curl_close($ch);
$regex = '/Content-Length:s([0-9].+?)s/';
$count = preg_match($regex, $head, $matches);
return isset($matches['1']) ? VText::bytes($matches['1']) : 'unknown';
}
}
?>