将用户数据导入为PHP变量

时间:2017-04-06 00:46:47

标签: php

我有一个数据文件,我的用户上传的部分包含由标签和换行符分隔的键和值:

key     value
city    London
year    1984

我将其导入脚本,然后分配名称等于值的PHP变量:

$key = 'value';
$city = 'London';
$year = 1984;

这用于他们也上传的populate templates

这是我分配给键和值的脚本:

$userdata = explode("\n", $file);
foreach($userdata as &$line){
    list($key, $value) = explode("\t", $line);
    $$key = $value;}

我想知道这是否是为值分配键的最佳方法,如果我应该采取任何安全预防措施,例如阻止某些键名,以及是否有办法使键等于数组如果该行有多个标签。

1 个答案:

答案 0 :(得分:0)

我认为你应该这样做:

<?php
$filePointer = @fopen($file, 'r');
while($line = fgets($filePointer)){
  $a = preg_split('/\b\s+\b/', $line);
  ${$a[0]} = $a[1];
}
echo "key:$key; city:$city; year:$year;"
?>