doufuxing8562
2019-02-14 18:18
浏览 112
已采纳

从PHP写入html中的特定行

I'm new to php. The thing I'm trying to accomplish here is to see what is the number of the last line in my html document (1,2,3...) and put that value into a variable and write

Hello world

to the html document but 2 or 3 lines above the last line. So right above the body close tag. I have been trying for days now and nothing seems to work.

sampletext.html

    <html>
<head>
     <title>WEB</title>
   </head>
 <body>
   <p>WEB test 335</p>
 </body>
    </html>

This one doesn't output:

<?php
$file = new SplFileObject('sampletext.html');
$file->seek(3);     // Seek to line no. 4
echo $file->current(); // Print contents of that line
?>

I also tried this one ,but it only writes at the end of the file:

<?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);
 ?>

There are a more but I can't seem to find them in my testing folder. I have read somewhere that it's possible to move the last few lines into temp memory and fwrite something and then move the lines from temp memory back into the file.

As I mentioned before I am very new to php and don't fully understand it yet!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • dqp4933 2019-03-09 22:52
    已采纳

    The only thing that I found that works is to delete the last few lines of the code, write what you wanted and then write the code you deleted or use a php function that reads through the file and looks for a specific code (variable or something else but it shouldn't repeat in that context) and change it with another bit of code.

    点赞 打赏 评论
  • douzhangkui2467 2019-02-14 18:31

    Try this to get last line: PHP - Returning the last line in a file?

    And for write to last line try: Delete last line and check data in text file

    点赞 打赏 评论
  • dtcuv8044 2019-02-14 20:18

    Provided that this is something you would actually want to do, I would create an array of all lines in the read file, determine it's length, change the content of the third last array item and output everything in a loop.

    That said, the way you seem to want to use PHP seems very non-standard. If you would read a bit about it, I bet you would come up with much more elegant solutions than this. A good starting point would be w3schools

    点赞 打赏 评论

相关推荐 更多相似问题