Я пытаюсь хранить данные в текстовом файле, что-то вроде массива в текстовый файл, используя php вместо хранения в базе данных mysql.
например, вот данные, которые должны быть сохранены в текстовом файле
name=>john age=>25 location=>australia
затем после сохранения его в текстовый файл, как я могу получить содержимое и проанализировать его с помощью php, так как php может найти имя, возраст и местоположение и повторить его (что-то вроде разбора массива)
Мне нужно это для хранения данных в текстовый файл, чтобы он мог легко получить доступ из других доменов, не требуя быть в одном домене, подключиться к базе данных, получить данные из базы данных. Я ищу быстрое решение. 🙂
Я не уверен, в каком направлении я должен искать такую функциональность, надеясь, что кто-то может указать мне.
Хранение:
1. Используйте serialize () для сериализации массива в строку
2. Напишите эту строку в текстовый файл, используя file_put_contents ()
Чтение:
1. Используйте file_get_contents для чтения текстового файла
2. Используйте unserialize () для несериализации ранее сериализованного массива
serialize () / unserialize () может быть заменен на json_encode () / json_decode ()
Вы можете использовать
Если вы хотите преобразовать массив в XML, вы можете прочитать это сообщение: Как преобразовать массив в SimpleXML
Эти функции должны делать то, что вы хотите:
function storeInTextFile($array,$path) { if(file_exists($path)) { $handle = fopen($path,'wb'); fwrite($handle, arrayToString($array)); fclose($handle); } } function arrayToString($array) { $string = ''; foreach($array as $key => $value) { $string .= "{$key} => {$value}\n"; } return $string; } function stringToArray($string) { $explodedString = explode('\n',$string); $returnArray = array(); foreach($explodedString as $arrayValue) { list($key,$value) = explode(' => ',$arrayValue); $returnArray[$key] = $value; } return $returnArray; }
//– короткая ——————————————-
$data = [ "a" => "A", "b" => "B", "c" => "C" ]; echo '<br> data - array: '; var_dump($data); file_put_contents('db.php', json_encode($data) ); //get $g = json_decode(file_get_contents('db.php') , 1); // 1 Array , 0 Object echo '<br><hr>short: var_dump($g): '; var_dump($g);
//– длинный ——————————————-//
$data = [ "a" => "A", "b" => "B", "c" => "C" ]; echo '<br> data - array: '; var_dump($data); echo '<br> json_encode($data): '; $jdata = json_encode($data); var_dump($jdata); echo'<hr>'; file_put_contents('db.php', $jdata); //get $jg = file_get_contents('db.php'); echo ' $jg = file_get_contents(\'db.php\'); $jg : '; var_dump($jg); echo '<br> json_decode($jg , 1) //1 Array<br>'; $g = json_decode($jg , 1); var_dump($g); echo '<br> json_decode($jg , 0) //0 Object<br>'; $g = json_decode($jg , 0); var_dump($g);