如何使用php
编辑.dat文件中的行?
.dat文件:
1|example1|123
2|example2|234
3|example3|345
我想编辑2
及其旁边的所有内容。示例输出:
1|example1|123
2|edited2|234
3|example3|345
答案 0 :(得分:0)
$handle = fopen("file.dat", "r");
$reconstruct = "";
if ($handle) {
while (($line = fgets($handle)) !== false) {
$linenumber = explode("|", $line, 1);
if($linenumber == "2")
{
$reconstruct .= "2|edited2|234\r\n";
}else{
$reconstruct .= $line;
}
}
if (fwrite($handle, $reconstruct) === FALSE) {
echo "Cannot write to file";
exit;
}
} else {
echo "Cannot open file";
}
fclose($handle);
答案 1 :(得分:0)
看看这是否适合你:
<?php
$contents = file_get_contents("myfile.dat");
// if you just need to replace a specific string:
$newContent = preg_replace("/2\|example/", "2|edited", $contents);
echo $newContent;
file_put_contents("myNewFile.dat", $newContent);
?>
输出:
1|example1|123
2|edited2|234
3|example3|345
我把它写成新文件以防止意外覆盖(更适合测试)。如果您使用相同的文件名,则可以&#34;编辑&#34;,实际上。