我是php新手。我要在这里完成的事情是查看html文档中的最后一行的编号(1,2,3 ...),然后将该值放入变量中并编写
Hello world
到html文档,但在最后一行上方2或3行。因此,在身体贴标上方。我已经尝试了好几天了,似乎什么也没用。
sampletext.html
<html>
<head>
<title>WEB</title>
</head>
<body>
<p>WEB test 335</p>
</body>
</html>
此不输出:
<?php
$file = new SplFileObject('sampletext.html');
$file->seek(3); // Seek to line no. 4
echo $file->current(); // Print contents of that line
?>
我也尝试过这个,但是它只写在文件的末尾:
<?php
$file = fopen("sampletext.html","a"); //I also tried w,a+,r,r+
$txt = "Hello world";
fseek(fp, 0, SEEK_END);
fwrite($file, $txt);
fclose($file);
?>
还有更多,但我似乎无法在测试文件夹中找到它们。 我已经读到某个地方,可以将最后几行移到临时存储器中,然后写一些东西,然后将这些行从临时存储器移回到文件中。
正如我之前提到的,我是php的新手,还不完全了解它!
答案 0 :(得分:0)
假设这是您实际上要执行的操作,我将在读取文件中创建一个包含所有行的数组,确定其长度,更改倒数第二个数组项的内容,并在循环中输出所有内容。
也就是说,您似乎想要使用PHP的方式似乎非常不规范。如果您对此有所了解,我敢打赌,您会想到比这更优雅的解决方案。一个不错的起点是w3schools
答案 1 :(得分:0)
我发现唯一可行的方法是删除代码的最后几行,编写所需内容,然后编写删除的代码,或者使用php函数读取文件并查找特定代码(变量或其他内容,但不应在该上下文中重复),并用另一段代码进行更改。
答案 2 :(得分:-1)
尝试此操作以获得最后一行:PHP - Returning the last line in a file?
要写到最后一行,请尝试:Delete last line and check data in text file