Jump to content
  • 0

Учюсь создавать файл с настройками


Alexey Menshikov
 Share

Question

Хочу вынести все свои настройки, например логин и пароль в отдельный файл, как все взрослые программы. :lol:

Т.е. создал свой base.conf:

login=123

password=123

Теперь вопрос, как правильно его подключить в основной файл, что-бы соответственно получились $login="123", $password="123".

Спасибо!

Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0

Ознакомьтесть с фиункциями require, require_once, include, include_once

Выбор той или иной функции зависит от того, как Вы хотите чтобы php реагировал на отсутствие подключаемого файла и повторное его подключение.

пример:

config.ini.php

$login = '2123';
$password = '123';

*.php

...require ('config.ini.php');... 

это работает, а насколько данный метод правильный, если чесно даже и не задумывался.

Link to comment
Share on other sites

  • 0

Неее, если в подключаемый файл не прописать <?php .... ?>, то тогда он просто выводит его содержимое на экран.

Вариант такой работает:

base.conf:

<?php
$login="123";
?>

Но во взрослых программах, например в Апаче, конфиги пишутся проще:

login=admin
pass=ffdd

Link to comment
Share on other sites

  • 0

ну в таком случае в голову приходит такое:

наваять скрипт, с применением регулярных выражений например, который бы открывал конфиг, распознавал текст:

"login=admin"

как задание параметра, формировал строку:

"$login = admin;"

и передавал ее финкции, которая принимает код в виде текста и выполняет его( как наз не помню, но есть такая, аналог eval("code") в яве).

тоесть пропустив конфиг файл через этот скрипт, сформировать корректный php-код в виде строки и передать ее функции, которая его выполнит, что то вроде этого:

function("$login = \'admin\';$pass=\'ffdd\'");

вместо заключения:

гемор конечно, но, думаю, это реализуемо.

Link to comment
Share on other sites

  • 0

$conf=file('config.cfg');
foreach ($conf as $confline)
{
preg_match('#^(.+)=(.+)$#',$confline,$matches);
$GLOBALS[trim($matches[1])]=trim($matches[2]);
}

Может так?

//Извините, что в регулярке титьки, я не специально

Edited by Int
Link to comment
Share on other sites

  • 0

0_о нахрена? Товарищ это вэб! Файлы с паролями тут никому не нужны, а пароли от бд или фтп хранятся в конфиге и уж точно никак "во взрослых" программах. Вы больше убьете времени и вычислительных мощьностей на распознавание такой строки, чем на получение данных.

Link to comment
Share on other sites

  • 0
0_о нахрена? Товарищ это вэб! Файлы с паролями тут никому не нужны, а пароли от бд или фтп хранятся в конфиге и уж точно никак "во взрослых" программах. Вы больше убьете времени и вычислительных мощьностей на распознавание такой строки, чем на получение данных.

я храню в config.ini и знаешь - очень удобно, особенно когда к нему обращается и веб и не веб часть :lol: а вообще на парсинг таких вещей много ресурсов никогда не требовалось, а parse_ini_file так вообще одна из самых низкоуровневых функций

Link to comment
Share on other sites

  • 0
Надоели вашим бредом :lol:

Читайте блин мануалы

Спасибо! Сделал, через parse_ini_file оч доволен!!

PS: Только у меня с сегодняшнего дня Касперский при открытии этой страницы ругается на фишинг ссылку - гугланалитикс.нет?!

Link to comment
Share on other sites

  • 0
я храню в config.ini и знаешь - очень удобно, особенно когда к нему обращается и веб и не веб часть :) а вообще на парсинг таких вещей много ресурсов никогда не требовалось, а parse_ini_file так вообще одна из самых низкоуровневых функций

Ну тогда прошу прощения, видимо я не понял до конца тему. Подумал одно, оказалось другое.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy