如何用PHP读取文本文件?
我有一个名为Se7enPlug.dspl
的文本文件。在这个文件中我只有一个行文字,格式如下:如何用PHP读取文本文件?
text1,text2,text3
我需要读取这个文件,并返回这样的事情:
public function rconGetNextMap() {
$myFile = "E:\mw3-server\admin\Se7enPlug.dspl";
$fh = fopen($myFile, 'r');
$theData = fread($text1,$text2,$text3);
fclose($fh);
echo $theData;
if ($theData) {
$next = array("map" => $text1, "gametype" => $text2, 0=>$text1, 1=>$text2);
}
elseif (!$theData)) {
$next = array("map" => "Unknown", "gametype" => "Unknown", 0=>"Unknown",1=>"Unknown");
}
return $next;
}
正如你看到它有很多问题。我该如何解决它?
这将在您的文本文件中读取与所述第一和第二值保存到数组
<?php
$myFile = "E:\mw3-server\admin\Se7enPlug.dspl";
$fh = fopen($myFile, 'r');
$theData = fgetcsv($fh,$delimiter = ',');
if ($theData) {
$next = array("map" => $theData[0], "gametype" => $theData[1]);
}
?>
更好地利用fgetcsv()
作为达贡指出:
public function rconGetNextMap() {
$myFile = '...';
$handle = fopen($myFile, 'r');
$retArray = array(
'map' => 'Unknown',
'gametype' => 'Unkown',
);
if (!$handle) {
return $retArray;
}
$data = fgetcsv($handle, 1000, ',', '"');
if ($data !== false) {
$retArray['map'] = $data[0];
$retArray['gametype'] = $data[1];
}
fclose($handle);
return $retArray;
}
我已删除从输出阵列的两个数值指标。我不会推荐他们,因为他们代表了冗余数据。但你可以轻松地添加它们。
@KingCrunch:你为什么要删除我最后的句子,并且可以为最后一次编辑添加一个参考(如果第三个参数需要,需要第四个参数)? – ComFreek
没有。也许你添加了它,而我编辑了我的编辑?参考是:尝试一下;)(更新:也许它是固定的5.4?不能再现它了。也许你可以忽略它) – KingCrunch
@KingCrunch我无法使用PHP 5.4.7重现它(目前升级到5.4.8)。但它不会伤害;) – ComFreek
[fgetcsv()](http://php.net/manual/en/function.fgetcsv.php )将是一个很好的起点 – 2012-11-18 21:07:12
我可以从你那里得到解决我的鳕鱼的请求吗? – user1743737
你的鱼如何破碎? – 2012-11-18 21:16:54