因此,我希望我的页面读取txt文件,然后对其进行标记化并创建类似数组的变量。
例如:
我的txt文件:
Column1/Column2/Column3
A:K:Z
B:U:D
然后我想像$variable['0']['Column1']
那样阅读它;
有什么办法吗?
<?php
$handle = @fopen("info.txt", "r");
if ($handle) {
while (($buffer = fgets($handle, 4096)) !== false) {
$delimiters = ":";
$token = strtok($buffer, $delimiters);
$result = [];
$row = [];
$columns = ['rede', 'servidor', 'data', 'hora', 'usuarios', 'servidores'];
while ($token){
$row[$columns[count($row)]] = $token;
if (count($row) == 6) { // write record
$result[] = $row;
$row = [];
}
$token = str_replace('\r', '', strtok($delimiters));
}
print_r($result);
}
if (!feof($handle)) {
echo "Error: unexpected fgets() fail\n";
}
fclose($handle);
}
?>
答案 0 :(得分:1)
我不会使用strtok
。我认为将:
用作fgetcsv
中的分隔符会更容易。像这样:
if ($handle) {
$columns = ['rede', 'servidor', 'data', 'hora', 'usuarios', 'servidores'];
while (($row = fgetcsv($handle, 0, ':')) !== false) {
if (isset($row[5])) {
$result[] = array_combine($columns, $row);
}
}
}