2014-01-24 3 views
0

У меня есть содержимое страницы xml в строке javascript. Мне нужно сохранить это в my.xml на стороне сервера, используя php. Но я не могу передать значение xml-content-string через метод POST. Я попробовал file_get_contents и завиток, но понял, что это не то, что я хочу, так как у меня есть xml-контент в строчном формате, а не в файле. Может ли кто-нибудь помочь мне сохранить эту строку в javascript в качестве правильного содержимого xml.Как сохранить xml, содержащиеся в строке javascript, через php/javascript

Заранее спасибо

Pre

Я прилагаю мой код ниже

page1.php

<form name = "frm_first" method = "POST"> 
    <input type = "hidden" name = "xml_string"> 
    ............... 


<script type = "text/javascript" language = "javascript"> 
function getDataXML(){ 
xmlString = chart.getDataXML();// This is where I get my xml data into the string 
document.frm_first.xml_string.value = xmlString; 
alert(xml_string); //Good 
document.frm_first.submit(); 
} 
</script> 

page2.php // Это страница, на которую подается сообщение ,

<?php 
    echo print_r($_POST);//xml_string vaiable is empty. Other variables are getting displayed. 
    $domtree = new DOMDocument('1.0','UTF-8'); 
    $domtree->loadXML($_POST['xml_string']);// Error :empty string supplied as input 
    $domtree->save("my.xml"); //Yes , I have access to the file. 
?> 

$ _POST ['xml_string'] пусто, это моя проблема. Другие переменные передаются через POST.

+0

написать свой код ... –

ответ

0

Извините, что я отвечал на свой вопрос, но думал, что он может быть полезен и для кого-то другого. я сделал, если array_key_exists ('xml_string', $ _POST)

<?php 
if array-_key_exists('xml_string', $_POST) 
{ 
    echo print_r($_POST); 
    $domtree = new DOMDocument('1.0','UTF-8'); 
    $domtree->loadXML($_POST['xml_string']); 
    $domtree->save("my.xml"); 
?> 

и теперь $ _POST переменные поступают правильно.

0

Настройка заголовка с PHP сделал трюк, когда я пытался сохранить XML-файл:

header("Content-Disposition: attachment; filename=file.xml"); 

Но отправки XML должно быть возможно в виде строки. Вы получаете сообщения об ошибках?

+0

У меня не было сообщений об ошибке. Поле формы, содержащее строку, пусто после прохождения через POST. – Pre

+0

Поле формы ... вы можете вывести переменную $ _POST Variable? Я не могу представить, что строка не может быть отправлена ​​с $ _POST. Возможно, это просто проблема с вашей формой, а не с POST. –

+0

К сожалению, так оно и есть. У меня есть другие поля формы, которые передаются и печатаются в $ _POST. Эта строка, содержащая содержимое xml, не получает/печатается. – Pre

Смежные вопросы