Написать в конкретной строке в HTML от PHP - PullRequest
0 голосов
/ 14 февраля 2019

Я новичок в 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 и donеще не до конца поняла!

Ответы [ 3 ]

0 голосов
/ 14 февраля 2019

При условии, что это то, что вы на самом деле хотели бы сделать, я бы создал массив всех строк в прочитанном файле, определил его длину, изменил содержимое третьего последнего элемента массива и вывел бы все в цикл.

Тем не менее, способ, которым вы хотите использовать PHP, кажется очень нестандартным.Если бы вы немного прочли об этом, держу пари, вы бы предложили гораздо более элегантные решения, чем эта.Хорошей отправной точкой будет w3schools

0 голосов
/ 10 марта 2019

Единственное, что я нашел, это работает, это удалить последние несколько строк кода, написать то, что вы хотели, а затем написать код, который вы удалили, или использовать функцию php, которая читает файл и ищет определенный код (переменная или что-то еще, но это не должно повторяться в этом контексте) и измените его с другим битом кода.

0 голосов
/ 14 февраля 2019

Попробуйте получить последнюю строку: PHP - Возврат последней строки в файле?

А для записи в последнюю строку попробуйте: Удалить последнюю строку и проверить данные втекстовый файл

...