我想用php读取单个数组值,并根据键保存它们。如果此键不存在,则应创建新条目。
这是我的语言文件要读写:
$LNG['name'] = array(
1 => 'test',
2 => 'test1',
3 => 'test2',
4 => 'test3',
5 => 'test4',
);
以下是示例
<?php
$include("TECH.php");
$name = $LNG['name'][$_GET['id']];
?>
<html>
<head>
<title>Editpage</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form action="<?= $_SERVER['PHP_SELF'] ?>" method="POST">
<table>
<tr>
<td>Name</td><td><input name="name" type="text" value="{$name}"/></td>
</tr>
</table>
<p><input type="submit" name="submit" value="Save"></p>
</form>
</body>
</html>
并通过提交所选键的更改值
实施例 通过将密钥1的更改值提交到
,密钥为1$LNG['name'] = array(
1 => 'i am edited',
2 => 'test1',
3 => 'test2',
4 => 'test3',
5 => 'test4',
);
对于保存,我已经使用此
进行了测试$file = 'TECH.php';
// The new person to add to the file
$saveedit = $LNG['tech'][$_GET['id']] = $_POST['name_ger'];
// Write the contents to the file,
file_put_contents($file, $saveedit, FILE_APPEND | LOCK_EX);
这就添加了编辑名称,无需添加新条目
$LNG['name'] = array(
1 => 'test',
2 => 'test1',
3 => 'test2',
4 => 'test3',
5 => 'test4',
);editvalue
答案 0 :(得分:0)
所以你想将数据存储在一个文件中,PHP可以通过简单地包含文件来“读取”这个数组吗?
然后,要修改该数据,您也可以简单地包含该文件,以便脚本中存在变量/数据结构$LNG['name']
来处理提交的表单。
要修改值,只需覆盖它们:
$LNG['name'][$idfromform] = $valuefromform;
没有必要检查密钥是否存在,如果没有,PHP将自动创建它。
然后,要将修改后的数据结构写回文件,只需使用var_export
和file_put_contents
。
您可能想要考虑限制可以在某种程度上在阵列中创建的键。并保护该表单不被您网站的任何用户使用,否则您可能会产生不良副作用,甚至可能造成安全漏洞。但这在很大程度上取决于你之后对数据结构的处理方式。