首先,我是 PHP 的菜鸟,但这是我的问题。我正在尝试从文本文件中读取一行,操作该行,然后将原始行和新行写入一个新的文本文件。由于某种原因,它在输出文件中添加了额外的返回或新行。
原始文件文本
/Volumes/EC/EC_0101/B-W Art/001_0101.EPS
...
/Volumes/EC/EC_0101/B-W Art/010_0101.EPS
用于测试的 HTML 输出
EC:EC_0101:B-W Art:001_0101.EPS EC EC_0101 B-W Art 001_0101.EPS
...
EC:EC_0101:B-W Art:010_0101.EPS EC EC_0101 B-W Art 010_0101.EPS
新文本文件输出
EC:EC_0101:B-W Art:001_0101.EPS
EC EC_0101 B-W Art 001_0101.EPS
...
EC:EC_0101:B-W Art:010_0101.EPS
EC EC_0101 B-W Art 010_0101.EPS
应该是制表符分隔的
EC:EC_0101:B-W Art:001_0101.EPS EC EC_0101 B-W Art 001_0101.EPS
...
EC:EC_0101:B-W Art:010_0101.EPS EC EC_0101 B-W Art 010_0101.EPS
我的代码
$file = fopen("files_list.txt", "r") or exit("Unable to open file!");
$filename = "files_list_tab.txt";
//Output a line of the file until the end is reached
while(!feof($file))
{
$strLink = fgets($file);
//$strComment = $strLink;
$strLink= str_replace("/",":",$strLink);
$strLink= str_replace(":Volumes:","",$strLink);
$strComment= str_replace(":","\t",$strLink);
$strCombined = $strLink."\t".$strComment;
$array[] = $strCombined;
echo $strCombined. "<br>";
}
fclose($file);
echo "Done <br>";
$strCombined = $array;
file_put_contents($filename, $strCombined);
echo "Done <br>";