#21 2011.04.30 21:00

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: ЗЦ

Мда, как задумал не получилось, переделал на одну такую зафигулину... Потом узнаете/поржете smile
Ну мне эта идея кажется не плохой.
- - - -
Да ладно, чего говнокод таить big_smile

sys/funs.php

Код:

1
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:12)

Неактивен

#22 2011.05.01 16:40

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: ЗЦ

Подсчет хочу осуществить путем самописного класса... Если конечно получится написать этот класс.

Неактивен

#23 2011.05.01 20:01

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: ЗЦ

Черт, надо было не так. А глобально... 1 раз просканировал и занес в базу все папки сразу.
- - - -
Не знаю как сделать, такой как есть класс оставлю...

Отредактировано tipsun (2011.05.01 20:03)

Неактивен

#24 2011.05.01 20:39

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: ЗЦ

Фух
- - - -
Про "время актуальности" забыл... епт
- - - -
Поправил...

Код:

1
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:21)

Неактивен

#25 2011.05.01 21:50

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: ЗЦ

Зря я делал '/' при получении каталога! sad

Неактивен

#26 2011.05.02 00:21

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: ЗЦ

Подскажите пожалуйста, печально ли будет если я ограничу прием адреса папки до

Код:

1
span style="color: #0000BB"><?php !preg_match('/^[a-z0-9\_\-][a-z0-9\_\-\/]{1,}$/i', $_GET['dir'])) ?>

. Точка все портит. Из-за нее приходится дополнительно лепить защиту.

Отредактировано tipsun (2011.05.02 09:27)

Неактивен

#27 2011.05.02 09:00

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: ЗЦ

ну сам смотри, как папки называть будешь

Неактивен

#28 2011.05.02 09:08

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: ЗЦ

Ну по-моему лучше сразу ограничить один раз прег_матчем чем потом везде на спец символы обрабатывать, точки учитывать... Если не учитывать, то в базу урл будет записываться с точками... Ну т.е. вроде одно и то же для ::is_dir():: , а в базу идет со всем этим мусором... /./././

этот мусор потом чистить... А так надо будет перед занесением только повторяющиеся слеши убрать.

Отредактировано tipsun (2011.05.02 09:12)

Неактивен

#29 2011.05.02 16:28

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: ЗЦ

Как я запарился с этим говнозагрузником...
Дырку тоже закрыл. С ::$page:: связана была в index.php
- - - -
Добавил последнюю версию.
Посмотрите пожалуйста, кто не занят делом, если ли ошибки/дырки...

Отредактировано tipsun (2011.05.02 16:36)

Неактивен

#30 2011.05.02 18:49

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: ЗЦ

ну по коду я незнаю,но так ошибок нету,считает норм))С такими темпами ты уже из зц напишешь полноценный загруз центр)))если будешь его еще дополнять чем-то,или делать его более крупным,то небольшая просьба,если можешь то сделай чтоб делало скрины с flesh а то сколько я смотрел зц,не один не делает скрины с flesh файлов)))))себе поставлю твой зц для картинок)))

Неактивен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.2
0.018 s