<?php $file = "./texttest.proc.xml"; $array['key1'] = "val1"; $array['key2'] = "val2"; $array['key3'] = "val3"; writeParams($array, $file); $output = readParams($file); print_r($output); function readParams($source) { $params = array(); if (preg_match("/\\.xml\$/i", $source)) { $el = simplexml_load_file($source); foreach ($el->param as $param) { $params["{$param->key}"] = "{$param->val}"; } } else { $fh = fopen($source, 'r'); while (!feof($fh)) { $line = trim(fgets($fh)); if (!preg_match("/:/", $line)) { continue; } list($key, $val) = explode(':', $line); if (!empty($key)) { $params[$key] = $val; } } fclose($fh); }
$test->write(); // записываем $test->read(); // читаем var_dump($test); //-----------------------процедурный подход------------------------------------------------- function readParams($source) { $params = []; if (preg_match("/xml/", $source)) { echo "читаем XML"; } else { echo "читаем текст"; } return $params; } function writeParams($params, $source) { if (preg_match("/xml/", $source)) { echo "записываем XML"; } else { echo "записываем текст"; } } $file = "some.txt"; $array['key1'] = "val1"; $array['key2'] = "val2"; $array['key3'] = "val3"; writeParams($array, $file); readParams($file);