Добрый день!
Подскажите, пожалуйста, как сделать так, чтобы php-код хранился в базе MySQL,
чтобы если потребуется что-то исправить не нужен был ftp-доступ (как
выяснилось, не везде он есть).
Хранение php-кода в базе MySQL
26 августа 2009, 11:13
Автор: olga.cherko
|
1234ruЭто довольно просто. Существует функция eval(), которая принимает в качестве аргумента строку и интерпретирует её как php-код.Допустим, Вы хотите разбить свой код на части и иметь возможность каждую часть выполнять отдельно от других. Тогда каждой части нужно будет присвоить название, которое будет служить идентификатором, чтобы можно было к этой части обращаться. Название должно быть уникальным. Для хранения кода нужно сделать таблицу. CREATE TABLE code ( codename VARCHAR(255), codetext TEXT, UNIQUE KEY (codename) ); Далее. Допустим, Вам нужно достать из базы и выполнить часть кода под названием 'mainmenu'. Выглядеть это может так: // соединяемся с БД .. $code_name = 'mainmenu'; $sql = "SELECT codetext FROM code WHERE codename = '$code_name'"; $result = mysql_query($sql) OR die(mysql_error()); $row = mysql_fetch_row($result); if (!empty($row)) { $code = $row[0]; // достали код; eval($code); // теперь выполняем } // если $row пуст - значит найти в БД код с таким названием не удалось else echo "Нет кода под названием '$code_name'."; Обратите внимание, что части кода не должны заключаться в скобки <?php ... ?>, иначе будет ошибка. То, что не убивает нас, делает нас инвалидами.
|
27.08.2009, 14:16 Ответить |
|
NO USERPIC
|
olga.cherkoСпасибо, действительно все просто:) |
29.08.2009, 21:46 Ответить |
© 2007—2010 webew.ru, связаться: x собака webew.ru
Сайт использует Flede и соответствует стандартам WAI-WCAG 1.0 на уровне A.
Сайт использует Flede и соответствует стандартам WAI-WCAG 1.0 на уровне A.
