从php用html写入特定行

时间:2019-02-14 18:18:23

标签: php html fopen fwrite fgetpos

我是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的新手,还不完全了解它!

3 个答案:

答案 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