我有一个读取文本文件内容的自动填充搜索(该文本文件必须以正确的方式格式化,否则搜索不起作用)。现在我以一种相当冗长的方式来做这件事,因为我需要在文件的开头和结尾加上方括号。
从数据库中获取数据的 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);
}
第二个 php 脚本打开 data_old.txt 并在开头写上“[”,在结尾写上“]”,然后将其保存为 data.txt:
$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 个字符并再次写入)
任何帮助表示赞赏
-马特
编辑2::
脚本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);