ФорумПрограммированиеПыхнуть хотите?Готовые решения → Храним данные внутри php-файла

Храним данные внутри php-файла

  • fgets

    Сообщения: 1099 Репутация: N Группа: Кто попало

    Spritz 2 февраля 2011 г. 12:56

    <?php
    /**
    * LolDB - database gay
    * @author Mars
    * @version 1.0
    */
    class LolDB
    {
    private $loldb_x_data = array();
    private $loldb_x_cursor = '';
    private $loldb_x_code = '';
    private $loldb_x_setter_enabled = false;

    /**
    * Constructor
    * @param string $dir
    */
    public function __construct($dir = './')
    {
    $this->loldb_x_cursor = $dir.basename(__FILE__);
    $this->loldb_x_code = file_get_contents($this->loldb_x_cursor);

    if (! preg_match('~/\\*#\\$%\{(.+?)\}%\\$#\\*/~si', $this->loldb_x_code, $load))
    {
    trigger_error('database not loaded');
    }

    $this->loldb_x_data = unserialize(trim($load[1]));
    if (! is_array($this->loldb_x_data)) $this->loldb_x_data = array();

    foreach ($this->loldb_x_data as $element => $content)
    {
    $this->$element = $content;
    }

    $this->loldb_x_setter_enabled = true;
    }

    /**
    * Setter
    * Work on $db->element;
    */
    public function __set($name, $value)
    {
    if (! strpos($name, 'loldb_x_'))
    {
    if ($this->loldb_x_setter_enabled)
    {
    $this->loldb_x_data[$name] = $value;
    $this->$name = $value;
    $this->_savedb();
    }
    }
    }

    private function _savedb()
    {
    $_writable_data = '/*'.'#'.'$'.'%'.'{'.serialize($this->loldb_x_data).'}'.'%'.'$'.'#'.'*/';
    $this->loldb_x_code = preg_replace('~/\\*#\\$%\{(.+?)\}%\\$#\\*/~si',
    $_writable_data, $this->loldb_x_code);
    file_put_contents($this->loldb_x_cursor, $this->loldb_x_code);
    }

    }

    $db = new LolDB;
    if (!$db->test) $db->test = 'ololo';
    echo $db->test;

    /*#$%{a:0:{}}%$#*/
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 2 февраля 2011 г. 13:03, спустя 6 минут 56 секунд

    ну и гавно
    Сапожник без сапог
  • fgets

    Сообщения: 1099 Репутация: N Группа: Кто попало

    Spritz 2 февраля 2011 г. 13:06, спустя 2 минуты 54 секунды

    )))))
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 2 февраля 2011 г. 13:07, спустя 44 секунды

    '/*'.'#'.'$'.'%'.'

    шо за нахуй вообще???
    Сапожник без сапог
  • fgets

    Сообщения: 1099 Репутация: N Группа: Кто попало

    Spritz 2 февраля 2011 г. 13:11, спустя 4 минуты 17 секунд


    '/*'.'#'.'$'.'%'.'

    шо за нахуй вообще???


    чтобы регулярка не обработала
    Спустя 50 сек.
    у дуда истерика)
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 2 февраля 2011 г. 13:26, спустя 15 минут 4 секунды

    я для этого и создал тему "Как не придумывать и не писать никому не нужную хуйню?" я так понял вы не сильно меня поняли, а я это и имел в виду… ))
  • fgets

    Сообщения: 1099 Репутация: N Группа: Кто попало

    Spritz 2 февраля 2011 г. 13:29, спустя 2 минуты 31 секунду

    Неужели до тебя не дошло что это просто экстрим? естественно никто не будет это применять нигде) разве что наебать кого нибудь)
    можно таким образом строить обновления, получаешь допустим ф-ию как строку и пишешь её внутрь самого файла, затем загружаешь её и вызываешь create_function, алсо для байтоёбов - многократное чтение и запись в один и тот же файл никак на скорости не играет, разве что при чтении в буфер попадает весь код файла, ну а это пара килобайт так что один хуй не страшно
    Спустя 98 сек.

    я для этого и создал тему "Как не придумывать и не писать никому не нужную хуйню?" я так понял вы не сильно меня поняли, а я это и имел в виду… ))


    я для этого целый блог создал) минимум раз в 2 дня буду туда генерировать хуйню
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 2 февраля 2011 г. 14:34, спустя 1 час 5 минут 7 секунд

    многократное чтение и запись в один и тот же файл никак на скорости не играет

    часто получается epic fail
    Сапожник без сапог
  • fgets

    Сообщения: 1099 Репутация: N Группа: Кто попало

    Spritz 2 февраля 2011 г. 14:41, спустя 7 минут 12 секунд


    многократное чтение и запись в один и тот же файл никак на скорости не играет

    часто получается epic fail


    а база по твоему как работает?) она же тоже из файлов, или вон тот же mdb
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 2 февраля 2011 г. 14:45, спустя 3 минуты 54 секунды

    fgets, база - магия
    Сапожник без сапог
  • Faster

    Сообщения: 1159 Репутация: N Группа: Кто попало

    Spritz 2 февраля 2011 г. 15:05, спустя 19 минут 34 секунды

    $10 на то что Дуд не ввяжется в "БД vs Файлы"
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 2 февраля 2011 г. 15:07, спустя 2 минуты 23 секунды

    надо было учиться на базиста… на магиста…
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 2 февраля 2011 г. 15:12, спустя 5 минут 4 секунды

    минимум раз в 2 дня буду туда генерировать хуйню

    минимум раз в 2 дня буду скрывать твои топики))))
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 2 февраля 2011 г. 15:15, спустя 3 минуты 17 секунд

    я помню как дуд говорил, что цмс на файлах это о как ахуенно
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 2 февраля 2011 г. 15:18, спустя 3 минуты 1 секунду


    я помню как дуд говорил, что цмс на файлах это о как ахуенно
    и сейчас скажу что это ахуенно.

    зависит от тематики сайта, согласись что на мускуле google.com не повторить и он на своего рода файлах (99% уверен что плейн текст + индексные таблицы)
    Сапожник без сапог

Пожалуйста, авторизуйтесь, чтобы написать комментарий!