Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Загрузка XML файла на сервер
 
 автор: Mozilla   (13.03.2008 в 21:14)   письмо автору
 
 

Здравствуйте, клиентский JavaScript генерирует и отправляет XML файл на сервер:
function callServer(xmlFile, url) {
xmlHttp.open("POST", url, true);
xmlHttp.setRequestHeader("Content-Type", "text/xml");
xmlHttp.onreadystatechange = confirmUpdate;
xmlHttp.send(xmlFile);
}

function student() {
xmlFile =
'<?xml version="1.0" encoding="windows-1251"?>\n' +
'<?xml-stylesheet type="text/xsl" href="student.xsl"?>\n' +
'<student xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n' +
' xsi:noNamespaceSchemaLocation="student.xsd"\n' +
' zach="' + inHTML(myform.zach.value) + '" name="' + inHTML(myform.name.value) + '" groupName="' + inHTML(myform.groupName.value) + '">\n' +
' <birthInfo date="' + inHTML(myform.date.value) + '" country="' + inHTML(myform.country.value) + '" region="' + inHTML(myform.region.value) + '" town="' + inHTML(myform.town.value) + '"/>\n' +
' <homeAddress country="' + inHTML(myform.country2.value) + '" region="' + inHTML(myform.region2.value) + '" town="' + inHTML(myform.town2.value) + '" street="' + inHTML(myform.street.value) + '" building="' + inHTML(myform.building.value) + '" apartment="' + inHTML(myform.apartment.value) + '"/>\n' +
'</student>';

callServer(xmlFile, "http://www.myxml.ru/student/download.php")
return true;
}

student();

На сервере, чтобы обработать этот файл, хочу получить текст этого файла в переменную $data. Как это сделать? Заранее спасибо.

   
 
 автор: malish   (14.03.2008 в 08:58)   письмо автору
 
   для: Mozilla   (13.03.2008 в 21:14)
 

xmlHttp - имеется в виду XmlHttpRequest? Если да, то можно сделать так:

function callServer(url) {
xmlHttp.open("POST", url, true);
xmlHttp.setRequestHeader("Content-Type", "text/xml");
xmlHttp.onreadystatechange = confirmUpdate;
xmlHttp.send(null);
}
function student() {
xmlFile = 
'<?xml version="1.0" encoding="windows-1251"?>\n' +
'<?xml-stylesheet type="text/xsl" href="student.xsl"?>\n' + 
'<student xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n' + 
' xsi:noNamespaceSchemaLocation="student.xsd"\n' +
' zach="' + inHTML(myform.zach.value) + '" name="' + inHTML(myform.name.value) + '" groupName="' + inHTML(myform.groupName.value) + '">\n' + 
' <birthInfo date="' + inHTML(myform.date.value) + '" country="' + inHTML(myform.country.value) + '" region="' + inHTML(myform.region.value) + '" town="' + inHTML(myform.town.value) + '"/>\n' +
' <homeAddress country="' + inHTML(myform.country2.value) + '" region="' + inHTML(myform.region2.value) + '" town="' + inHTML(myform.town2.value) + '" street="' + inHTML(myform.street.value) + '" building="' + inHTML(myform.building.value) + '" apartment="' + inHTML(myform.apartment.value) + '"/>\n' +
'</student>';

callServer("http://www.myxml.ru/student/download.php?xml=" + xmlFile)
return true;



На сервере переменная в которой будет текст xml - $_POST["xml"]

   
 
 автор: Mozilla   (14.03.2008 в 12:14)   письмо автору
 
   для: malish   (14.03.2008 в 08:58)
 

Так не работает( Вообще, этот метод больше похож на отправку GET, чем POST. Может получиться, что url будет слишком длинным, на некоторых браузерах накладываются ограничения на длину url.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования