save () в php dom сохраняет числа в конце файла

0

Следующий код успешно сохраняет дочерний div, но также сохраняет некоторые числа в файле в конце. Я думаю, что его байты данных присутствуют, как я могу избавиться от сохраняемых им чисел?

$file = '../userfolders/'.$email.'/'.$ongrassdb.'/'.$pagenameselected.'.php';
$doc = new DOMDocument();
$doc->load($file);
$ele = $doc->createElement('div', $textcon);
$ele ->setAttribute('id', $divname);
$ele ->setAttribute('style', 'background: '.$divbgcolor.'; color :'.$divfontcolor.' ;display : table-cell;');
$element = $doc->getElementsByTagName('div')->item(0);
$element->appendChild($ele);
$doc->appendChild($element);
$myfile = fopen($file, "a+") or die('Unable to open file!');
$html = $doc->save($file);
fwrite($myfile,$html);
fclose($myfile);

Я не хочу использовать saveHTML или saveHTMLFile потому что он создает несколько экземпляров div и добавляет к нему html-теги.

  • 0
    Не могли бы вы предоставить полный файл со всеми переменными и загружаемым файлом?
Теги:
dom
save

2 ответа

0
Лучший ответ
$doc->load($file);
...
$myfile = fopen($file, "a+") or die('Unable to open file!');
$html = $doc->save($file);
fwrite($myfile,$html);
fclose($myfile);

Метод $doc->save() сохраняет дерево DOM в файл и возвращает количество байтов, которые он написал в файл. Этот номер хранится в $html и затем добавляется к тому же файлу командой fwrite().

Просто удалите вызовы fopen(), fwrite() и fclose().

0

Я удалил последние две строки и решил проблему

fwrite($myfile,$html);
fclose($myfile);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню