Вы не зашли.
Главная » PHP » ЗЦ
#21. tipsun Off (19)
Moderator
2011.04.30 21:09
Мда, как задумал не получилось, переделал на одну такую зафигулину... Потом узнаете/поржете smile
Ну мне эта идея кажется не плохой.
- - - -
Да ладно, чего говнокод таить big_smile

sys/funs.php
Код:
span style="color: #0000BB"><?phpdefine('TIMER', microtime(true));//...function html($body){exit('<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd"><html><head><meta http-equiv="Cache-Control" content="no-cache" /><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta name="keywords" content="'.$_SERVER['HTTP_HOST'].'" /><title>'.$_SERVER['HTTP_HOST'].'</title><link rel="stylesheet" type="text/css" href="sys/default.css" /></head><body><div class="head">DOWNLOADS</div><div class="f1"></div><div class="f2"></div><div class="f3"></div><div class="f4"></div><div class="f5"></div>'.$body.'<div class="h1"></div><div class="h2"></div><div class="h3"></div><div class="h4"></div><div class="h5"></div><div class="foot">&copy; <a href="/">Home</a> by TiPsun ('.round(microtime(true) - TIMER, 3).')</div><div class="f1"></div><div class="f2"></div><div class="f3"></div><div class="f4"></div><div class="f5"></div></body></html>');}?>
При прямом выводе не работает header();
А так на 1 инклуд меньше... И вообще удобно вроде...
- - - -
Скоро выложу новую говноверсию...
Отредактировано tipsun (2011.05.01 14:02)
#22. tipsun Off (19)
Moderator
2011.05.01 16:04
Подсчет хочу осуществить путем самописного класса... Если конечно получится написать этот класс.
#23. tipsun Off (19)
Moderator
2011.05.01 20:08
Черт, надо было не так. А глобально... 1 раз просканировал и занес в базу все папки сразу.
- - - -
Не знаю как сделать, такой как есть класс оставлю...
Отредактировано tipsun (2011.05.01 20:08)
#24. tipsun Off (19)
Moderator
2011.05.01 20:08
Фух
- - - -
Про "время актуальности" забыл... епт
- - - -
Поправил...

Код:
span style="color: #0000BB"><?php//вот для чего нужен был strpos($_GET['dir'], '/.');//чтоб не указывали ..... типа ?dir=_Kartinki/./././240x320//от остального прег_матч, чтоб в начале не указалвывали / или ./ т.д.//правда потом в папку нельзя будет назвать типа .olool т.к. olo/.ololo опознается как ошибкэ//потом в прием папки обязательно добавлюclass dirStat { function count($dir) { GLOBAL $db; $dir = preg_replace(array('/\/{2,}/', '/\/\.{1,}/'), array('/', null), $dir); $query = $db->prepare("SELECT `count` FROM `dirs` WHERE `name`=? AND `time`<'".$_SERVER['REQUEST_TIME']."' LIMIT 1;"); $query->execute(array($dir)); if($query->rowCount()) { return $query->fetchColumn(); } $this->count = 0; self::run($dir); $query = $db->prepare("REPLACE INTO `dirs` SET `name`=?, `count`='".$this->count."', `time`='".$_SERVER['REQUEST_TIME']."+600';"); $query->execute(array($dir)); return $this->count; } function run($dir) { if(is_dir('./'.$dir) and false !== ($opendir = opendir('./'.$dir))) { while(false !== ($unit = readdir($opendir))) { if('.' !== $unit and '..' !== $unit and 'about.php' !== $unit and 'index.php' !== $unit and 'sys' !== $unit and 'Thumbs.db' !== $unit) { if(is_dir('./'.$dir.'/'.$unit)) { self::run($dir.'/'.$unit); } else { $this->count += 1; } } } closedir($opendir); } return; } } $STAT = new dirStat;//использование...echo $STAT->count($dir);?>
Отредактировано tipsun (2011.05.02 09:09)
#25. tipsun Off (19)
Moderator
2011.05.01 21:09
Зря я делал '/' при получении каталога! sad
#26. tipsun Off (19)
Moderator
2011.05.02 00:12
Подскажите пожалуйста, печально ли будет если я ограничу прием адреса папки до
Код:
span style="color: #0000BB"><?php !preg_match('/^[a-z0-9\_\-][a-z0-9\_\-\/]{1,}$/i', $_GET['dir'])) ?>
. Точка все портит. Из-за нее приходится дополнительно лепить защиту.
Отредактировано tipsun (2011.05.02 09:09)
#27. Gemorroj Off (107)
Administrator
2011.05.02 09:09
ну сам смотри, как папки называть будешь
#28. tipsun Off (19)
Moderator
2011.05.02 09:09
Ну по-моему лучше сразу ограничить один раз прег_матчем чем потом везде на спец символы обрабатывать, точки учитывать... Если не учитывать, то в базу урл будет записываться с точками... Ну т.е. вроде одно и то же для ::is_dir():: , а в базу идет со всем этим мусором... /./././

этот мусор потом чистить... А так надо будет перед занесением только повторяющиеся слеши убрать.
Отредактировано tipsun (2011.05.02 09:09)
#29. tipsun Off (19)
Moderator
2011.05.02 16:04
Как я запарился с этим говнозагрузником...
Дырку тоже закрыл. С ::$page:: связана была в index.php
- - - -
Добавил последнюю версию.
Посмотрите пожалуйста, кто не занят делом, если ли ошибки/дырки...
Отредактировано tipsun (2011.05.02 16:04)
#30. POFIGISST Off (6)
Участник
2011.05.02 18:06
ну по коду я незнаю,но так ошибок нету,считает норм))С такими темпами ты уже из зц напишешь полноценный загруз центр)))если будешь его еще дополнять чем-то,или делать его более крупным,то небольшая просьба,если можешь то сделай чтоб делало скрины с flesh а то сколько я смотрел зц,не один не делает скрины с flesh файлов)))))себе поставлю твой зц для картинок)))
Страниц: 1 2 3 4 58 Все
Главная
WEB
PunBB Mod v0.6.2
0.014 s