1

テキスト ファイルの内容を読み取るオートフィル検索があります (このテキスト ファイルは正しい形式でフォーマットされていないと、検索が機能しません)。ファイルの最初と最後に角かっこが必要なので、今はかなり長い方法でそれをやっています。

データベースからデータを取得する PHP スクリプト:

$getData = mysql_query("SELECT Name FROM tblIngredient"); 

 while($info = mysql_fetch_array($getData)) 
 {
    $string = '{"key": "'.$info['Name'].'", "value": "'.$info['Name'].'"}, ';
    $fp = fopen('data_old.txt', 'a');
    fwrite($fp, $string);
    fclose($fp);
 }

data_old.txt を開き、先頭に「[」、末尾に「]」を付けて書き込み、data.txt として保存する 2 番目の php スクリプト:

$string1 = '[' . file_get_contents('data_old.txt') . ']';
$fp = fopen('data.txt', 'a');
fwrite($fp, $string1);
fclose($fp);

これにより、データが次の形式で保存されます: (ファイルの開始)

[{"key": "vodka", "value": "vodka"}, {"key": "tequila", "value": "tequila"}, {

(ファイルの終わり)

{"key": "brandy", "value": "brandy"}, {"key": "beer", "value": "beer"}, ]

私の問題は、ファイルの最後にコンマとスペースがあることです: }, ] そして、次のようにする必要があります: }]

私はグーグルでこれを試してみましたが無駄でした

(data.txt ファイルの最後の 2 文字を切り捨てて再度書き込むコードが必要です)

どんな助けでも大歓迎です

-マット

edit2::

スクリプト 1:

$getData = mysql_query("SELECT Name FROM tblIndredient"); 

 while($info = mysql_fetch_array($getData)) 
 {
    $string = ', {"key": "'.$info['Name'].'", "value": "'.$info['Name'].'"}';
    $fp = fopen('data.txt', 'a');
    fwrite($fp, $string);
    fclose($fp);
 }

    $content = file_get_contents('data.txt');
    $content = '[' . ltrim('[, ', $content);
    file_put_contents('data.txt');

スクリプト 2:

    $string1 = '['. file_get_contents('data.txt') .']';
    $fp = fopen('data.txt', 'a');
    fwrite($fp, $string1);
    fclose($fp);
4

2 に答える 2

0
$string1 = '[' . file_get_contents('data_old.txt');
$fp = fopen('data.txt', 'a');
fwrite($fp, $string1);
fclose($fp);

$files = fopen('data.txt', 'w+');
$content = fread($files, filesize('data.txt'));
$content = substr_replace($content ,"", -2);
$content .= ']';
fwrite($files, $content);
fclose($files);
于 2012-04-19T16:33:09.140 に答える