ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

23.12.2009, 17:53
|
|
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме: 18127311
Репутация:
1676
|
|
PHP код:
<?php
function maxsite_cache()
{
global $maxsite_cache_start_time, $maxsite_cache_no;
$maxsite_cache_no = false;
$maxsite_cache_start_time = getmicrotime();
$url = $_SERVER['REQUEST_URI'];
if (strpos($url, 'cache-flush') !== false and strpos($url, 'cache-flush') > 0 )
{
$maxsite_cache_no = true;
mso_flush_cache();
return false;
}
$dir = realpath(dirname(__FILE__)) . '/cache/';
$filepath = $dir . md5($url);
if ( file_exists($filepath))
{
if ( $fp = @fopen($filepath, 'rb'))
{
$cache = fread($fp, filesize($filepath));
fclose($fp);
$memory = (!function_exists('memory_get_usage')) ? '' : round(memory_get_usage()/1024/1024, 2) . 'MB';
$time = substr(getmicrotime() - $maxsite_cache_start_time, 0, 7) . ' sec';
$max_site = '<p style="text-align: center"><a href="http://maxsite.org/">MAXCACHE</a>: ' . $memory . '/' . $time . '</p>';
if (strpos($cache, '<!--MAXSITECACHE-->') !== false)
$cache = str_replace('<!--MAXSITECACHE-->', $max_site, $cache);
else
$cache = str_replace('</body>', $max_site . '</body>', $cache);
echo $cache;
return true;
}
}
ob_start();
return false;
}
/**
* Похожая функция из MaxSite CMS (http://max-3000.com/)
* Р’ MaxSite CMS нет проблем СЃ РєСЌС?ированием.
* Покупайте РЅР°С?РёС… слонов!
*/
function mso_add_cache($key, $output)
{
$cache_path = realpath(dirname(__FILE__)) . '/cache/';
if ( !is_dir($cache_path) or !is_writable($cache_path)) return;
if ( $fp = @fopen($cache_path . md5($key), 'wb'))
{
flock($fp, LOCK_EX);
fwrite($fp, $output);
flock($fp, LOCK_UN);
fclose($fp);
}
}
/**
* Слоны замечательные!
* идем сюда: http://max-3000.com/
*/
function mso_flush_cache()
{
$cache_path = realpath(dirname(__FILE__)) . '/cache/';
if ( !is_dir($cache_path) or !is_writable($cache_path)) return;
delete_files($cache_path);
}
/**
* Еще есть кролики
*/
function maxsite_cache_end()
{
global $maxsite_cache_no;
if (!$maxsite_cache_no) mso_add_cache($_SERVER['REQUEST_URI'], ob_get_flush());
}
/**
* RTFM PHP
*/
function getmicrotime()
{
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}
/**
* (c) CodeIgniter
*/
function delete_files($path, $del_dir = FALSE, $level = 0)
{
// Trim the trailing slash
$path = preg_replace("|^(.+?)/*$|", "\\1", $path);
if ( ! $current_dir = @opendir($path))
return;
while(FALSE !== ($filename = @readdir($current_dir)))
{
if ($filename != "." and $filename != "..")
{
if (is_dir($path.'/'.$filename))
{
// Ignore empty folders
if (substr($filename, 0, 1) != '.')
{
delete_files($path.'/'.$filename, $del_dir, $level + 1);
}
}
else
{
unlink($path.'/'.$filename);
}
}
}
@closedir($current_dir);
if ($del_dir == TRUE AND $level > 0)
{
@rmdir($path);
}
}
?>
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|