如何用PHP读取文本文件?
我有一个名为如何用PHP读取文本文件?,php,Php,我有一个名为Se7enPlug.dspl的文本文件。在这个文件中,我只有一行文本,格式如下: text1,text2,text3 public function rconGetNextMap() { $myFile = "E:\mw3-server\admin\Se7enPlug.dspl"; $fh = fopen($myFile, 'r'); $theData = fread($text1,$text2,$text3); fclose($fh);
Se7enPlug.dspl
的文本文件。在这个文件中,我只有一行文本,格式如下:
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;
}
我需要读取此文件并返回如下内容:
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;
}
正如你所看到的,它有很多问题。如何修复它?最好使用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;
}
我已经从输出数组中删除了两个数值索引。我不推荐它们,因为它们代表冗余数据。但是您可以轻松地添加它们。最好使用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;
}
我已经从输出数组中删除了两个数值索引。我不推荐它们,因为它们代表冗余数据。但是您可以轻松地添加它们。这将读取文本文件并将第一个和第二个值保存到数组中
<?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]);
}
?>
这将读取文本文件并将第一个和第二个值保存到数组中
<?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]);
}
?>
这将是一个很好的切入点。我想请你帮我解决cod问题吗?这将是一个很好的切入点。我可以请你帮我修正cod吗?@KingCrunch:为什么你删除了我最后的句子,你能为你的最后一次编辑添加一个参考(第四个参数是必需的,如果第三个参数是给定的,
),请?没有。也许是你在我编辑的时候加的?参考是:试试看;)(更新:可能是用5.4修复的?不能再复制了。也许你可以忽略它)@KingCrunch我也不能用PHP5.4.7复制它(目前升级到5.4.8)。但是它不会痛;)@KingCrunch:为什么你删除了我最后的几句话,你能为你的最后一次编辑添加一个参考(如果第三个参数是给定的,那么需要第四个参数)吗?没有。也许是你在我编辑的时候加的?参考是:试试看;)(更新:可能是用5.4修复的?不能再复制了。也许你可以忽略它)@KingCrunch我也不能用PHP5.4.7复制它(目前升级到5.4.8)。但是它不会痛;)