проблема в следующем:
мне надо чтоб у меня просто работала 1 функция
function wm_X9Req(){
global $wmType, $wmWMID;
$reqID = wm_ReqID();
$doc = domxml_new_doc('1.0');
$root = $doc->create_element('w3s.request');
$root = $doc->append_child('root');
$tmp = $doc->create_element('reqn');
$tmp->set_content($reqID);
$root->append_child($tmp);
$tmp = $doc->create_element('wmid');
$tmp->set_content($wmWMID);
$root->append_child($tmp);
if($wmType=='classic'){
$tmp = $doc->create_element('sign');
$tmp->set_content(wm_GetSign($wmWMID.$reqID));
$root->append_child($tmp);
$addr = 'XMLPurses.asp';
} else {
$addr = 'XMLPursesCert.asp';
};
$getpurses = $doc->create_element('getpurses');
$root->append_child($getpurses);
$tmp = $doc->create_element('wmid');
$tmp->set_content($wmWMID);
$getpurses->append_child($tmp);
$request = $doc->dump_mem(TRUE);
$result = wm_xmlHttpsReq($addr, $request);
$xml_parser = xml_parser_create('UTF-8');
xml_parse_into_struct($xml_parser, $result, $vals, $index);
xml_parser_free($xml_parser);
$check = wm_CheckResp($vals,$index);
if( $check != 0) die($check);
$purses = array();
$pursename = '';
$amount = '';
$desc = '';
for($n = 0; $n < count($vals); ++$n){
$e = $vals[$n];
switch ($e['tag']){
case 'PURSE':
switch ($e['type']){
case 'open':
$pursename = ''; $amount = ''; $desc = '';
break;
case 'close':
$purses[$pursename] = array('amount' => $amount,
'desc' => $desc);
break;
}
break;
case 'PURSENAME':
$pursename = $e['value'];
break;
case 'AMOUNT':
$amount = $e['value'];
break;
case 'DESC':
вначале пытался её запустить без php_domxml.dll
php ругается:Call to undefined function domxml_new_doc
типа не знаю чё за функция такая..
я защёл на яндекс и понял что нужна библиотека php_domxml.dll
я скачал её версии 5.2.1.1 ( php у меня версии 5.0.5.5 ), раскоментировал extension=php_domxml.dll,
грузанул комп и апатч и попробывал запустить всё заново
при загрузке php начал ругатся на отсутствие библиотеки php4ts.dll
я её скачал и снова грузанул апатч
апатч снова ругается
точка входа в процедуру _php_stream_open_wrapper_as_file не найдена в библиотеке php4ts.dll
дальше диалог на отсутствиепроцедуры выскакивает и снова ругань на счёт _php_stream_open_wrapper_as_file
пытаюсь запустить функция пишет Call to undefined function domxml_new_doc ….
короч прочитал ещё в сети типа domxml_new_doc это функция из php 4 и библиотека php_domxml.dll конфликтует с встроенной поддержкой xml в php 5 …
я решил удалить php_domxml.dll php4ts.dll и переписать эту функцию пользуясь этой "встроенной в php 5 подержкой xml"
вот что получилось
function wm_X9Req(){
global $wmType, $wmWMID;
$reqID = wm_ReqID();
$doc = new DOMDocument('1.0', 'iso-8859-1');
$root = $doc->createElement('w3s.request');
$root = $doc->appendChild($root);
$tmp = $doc->createElement('reqn');
$tmp->set_content($reqID);
$root->append_child($tmp);
$tmp = $doc->create_element('wmid');
$tmp->set_content($wmWMID);
$root->append_child($tmp);
if($wmType=='classic'){
$tmp = $doc->create_element('sign');
$tmp->set_content(wm_GetSign($wmWMID.$reqID));
$root->append_child($tmp);
$addr = 'XMLPurses.asp';
} else {
$addr = 'XMLPursesCert.asp';
};
$getpurses = $doc->create_element('getpurses');
$root->append_child($getpurses);
$tmp = $doc->create_element('wmid');
$tmp->set_content($wmWMID);
$getpurses->append_child($tmp);
$request = $doc->dump_mem(TRUE);
$result = wm_xmlHttpsReq($addr, $request);
$xml_parser = xml_parser_create('UTF-8');
xml_parse_into_struct($xml_parser, $result, $vals, $index);
xml_parser_free($xml_parser);
$check = wm_CheckResp($vals,$index);
if( $check != 0) die($check);
$purses = array();
$pursename = '';
$amount = '';
$desc = '';
for($n = 0; $n < count($vals); ++$n){
$e = $vals[$n];
switch ($e['tag']){
case 'PURSE':
switch ($e['type']){
case 'open':
$pursename = ''; $amount = ''; $desc = '';
break;
case 'close':
$purses[$pursename] = array('amount' => $amount,
'desc' => $desc);
break;
}
break;
case 'PURSENAME':
$pursename = $e['value'];
break;
case 'AMOUNT':
$amount = $e['value'];
break;
не знаю чем заменить функцию curl_init, set_content и dump_mem … короч запутался в конец..
нашёл в иенете готовый серв с php 4 и установленной уже php_domxml.dll
в результате функция domxml_new_doc заработала но php всеравно ругается
пишет
Warning: append_child() expects parameter 1 to be object, string given in c:\serv\сайты\localhost01\html\2\phpxml\index.php on line 202
Fatal error: Call to a member function on a non-object in c:\serv\сайты\localhost01\html\2\phpxml\index.php on line 205
я близок к истерической панике
этот форум моя последняя надежда !
помогите а ?