Чтение и запись в php файл - PullRequest
1 голос
/ 02 декабря 2010

Я ищу метод для записи значений некоторой переменной в файл PHP.

Хорошо, позвольте мне объяснить на примере:

У меня нормальный веб-сайт PHP, и я хочу добавить WordPress в качестве блога.

Я использую ту же тему, что и мой WordPress, для другого сайта, удаляя теги WordPress и заменяя их тегами моего другого приложения. Таким образом, здесь идентификаторы Div и имена классов остаются неизменными. Также я использую те же файлы CSS и JS, что и WordPress.

Я хочу контролировать ширину боковых панелей и некоторые другие параметры с панели управления WordPress Theme. Процесс, на мой взгляд, должен быть…

получить значение для 'sidebar_a' и сказать, что входные данные '150px' получить значение для 'main_body' и сказать, что входные данные '550px' получить значение для 'sidebar_b' и сказать, что входные данные '200px' получить значение для "site_name" и сказать, что входные данные поступают из тега WordPress получить значение для «нижнего колонтитула» и еще раз сказать, что значение происходит из нижнего колонтитула WordPress.

Теперь мне нужен небольшой скрипт, который запишет эти значения в файл PHP, например:

$sidebar_a = '100'

$main_body = '550'

$sidebar_b = '200'

$sitename = ‘XYZ Corporation’

$footer = ‘Copyright XYZ corporation'

или лучше создайте несколько таблиц базы данных в MySQL и запишите в нее.

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

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

ВАЖНО: Каждый раз, когда эти параметры изменяются в WordPress, эти значения должны обновляться новыми значениями.

Пожалуйста, помогите.

Ответы [ 2 ]

4 голосов
/ 02 декабря 2010

Запись данных

$data = array(
    'sidebar_a' => $sidebar_a,
    'main_body' => $main_body,
    'sidebar_b' => $sidebar_b,
    'sitename' => $sitename,
    'footer' => $footer
);
$data = serialize($data);
file_put_contents('file.txt', $data);

Чтение данных

$data = file_get_contents('file.txt');
$data = unserialize($data);
extract($data);

См. serialize и extract

http://php.net/serialize

http://php.net/extract

1 голос
/ 02 декабря 2010

Для хранения переменных PHP в файле (как говорится в теме) я сохраню все значения конфигурации в массиве, а затем использую функции serialize() / unserialize() и затем выполняю чтение / запись в файл.

Например:

file_put_contents('myconf.txt', serialize($my_array));
$my_array = unserialize(file_get_contents('myconf.txt'));

Если вам абсолютно необходимо включить созданный файл конфигурации где-то еще, чтобы получить конфигурацию (я не понимаю, почему, но вы, возможно, могли бы это сделать), вы можете вместо этого использовать что-то вроде этого:

file_put_contents('myconf.php', '$my_array = '. var_export($my_array, TRUE) .';');

а затем просто

include 'myconf.php';

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

Или, лучшим решением IMHO, было бы сделать так, чтобы другое приложение считывалось непосредственно из базы данных Wordpress, чтобы избежать возможных несогласованностей и всех проблем, возникающих при исправлении кода какого-либо стороннего приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...