4

mysqlデータベースに保存する代わりに、phpを使用して配列のようなテキストファイルにデータを保存しようとしています。

たとえば、テキストファイルに保存されるデータは次のとおりです

name=>john
age=>25
location=>australia

次に、それをテキストファイルに保存した後、どうすればコンテンツを取得して php で解析できますか?

データをテキストファイルに保存するために必要なので、同じドメインにいる必要なく、他のドメインから簡単にアクセスでき、データベースに接続し、データベースからデータを取得できます。迅速な解決策を探しています。:)

誰かが私を指摘してくれることを願って、この種の機能についてどの方向を調べるべきかわかりません。

4

6 に答える 6

15

保存:
1. serialize()を使用して配列を文字列にシリアライズします2. file_put_contents()
を使用してその文字列をテキスト ファイルに書き込みます

読み取り:
1. file_get_contentsを使用してテキスト ファイルを読み取ります
2. unserialize()を使用して、以前にシリアル化された配列をシリアル化解除します

serialize() / unserialize()はjson_encode() / json_decode( )に置き換えることができます

于 2012-09-11T08:35:36.860 に答える
0

あなたは使用することができます

配列を XML に変換する場合は、次の記事をお読みください:配列を SimpleXML に変換する方法

于 2012-09-11T08:29:52.290 に答える
0

これらの関数は、あなたが望むことをする必要があります:

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;
}
于 2012-09-11T08:38:56.607 に答える
-1

これを可能にする小さなライブラリ (~2 KB; <100 行) を作成しました: varDx

データの書き込み、読み取り、変更、確認、削除の機能があります。シリアル化を実装しているため、すべてのデータ型がサポートされています。

使用方法は次のとおりです。

<?php
require 'varDx.php';
$dx = new \varDx\cDX; //create an object
$dx->def('file.dat'); //define data file

$val1 = "this is a string";
$dx->write('data1', $val1); //writes key to file
echo $dx->read('data1'); //returns key value from file
于 2018-12-30T14:59:43.673 に答える