Стоит Apache 2.0.1 и РНР-4
Хочу подключить xml-файл в свои страницы делаю так:
.рнр-файл
--------------------------------------------------------
<?
$xmlfilename = "test.xml";
$code = "UTF-8"; // Кодировка xml-а
$curcode = "Windows-1251"; // Текущая кодировка$level = 0; // Уровень вложенности
$list = array(); // Список элементов в xml-файлеfunction drawspace()
{
global $level;
for ($i = 0; $i < $level * 10; $i++)
{
echo " ";
}
}// Обрабатывает текст между тегами
function characterhandler ($parser, $data)
{
global $code;
global $curcode;drawspace();
$data = mb_convert_encoding($data, $curcode, $code);
$data = trim($data)."<br>";
echo $data;
}// Обрабатывает открывающиеся теги
function starthandler ($parser, $name, $attribs)
{
global $level;
global $list;global $code;
global $curcode;$name = mb_convert_encoding($name, $curcode, $code);
$list[] = $name;
drawspace();
echo "<<font color='blue' size='+1'>$name</font>";
foreach ($attribs as $atname => $val)
{
echo " $atname => $val";
}
echo "><br>";
$level++;
}// Обрабатывает закрывающиеся теги
function endhandler ($parser, $name)
{
global $level;
global $list;array_pop($list);
$level--;
drawspace();
echo "<<font color='blue' size='+1'>/$name</font>><p>";
}// Создадим парсер
$parser = xml_parser_create($code);
if (!$parser)
{
exit ("Не могу создать парсер");
}
else
{
echo "Парсер успешно создан<p>";
}// Установим обработчики тегов и текста между ними
xml_set_element_handler($parser, 'starthandler', 'endhandler');
xml_set_character_data_handler($parser, 'characterhandler');// Откроем файл с xml
$fp = fopen ($xmlfilename, "r");
if (!$fp)
{
xml_parser_free($parser);
exit("Не могу открыть файл");
}while ($data = fread($fp, filesize($xmlfilename)))
{
global $xml_parser;
if (!xml_parse($parser, $data, feof($fp)))
{
die(sprintf("XML error: %s at line %d",
xml_error_string(xml_get_error_code($parser)),
xml_get_current_line_number($parser)));
print("<p>suxxx</p>");
}
print("<p>say hi</p>");
}fclose ($fp);
xml_parser_free($parser);
?>
---------------------------------------------------------------
test.xml
-----------------------------------------------
<?xml version="1.0" encoding="UTF-8"?><album><foto smallfoto="Fotos/1smallvelo.jpg " bigfoto="Fotos/1bigvelo.jpg "><SMALLFOTO>Fotos/1smallvelo.jpg </SMALLFOTO><BIGFOTO>Fotos/1bigvelo.jpg </BIGFOTO><TITLE>Велотриал </TITLE><COMMENT>Рто было Сѓ нас РІ Крылатском Р·РёРјРѕР№ 2002-РіРѕ РіРѕРґР° </COMMENT><DATE>26.05.2003 </DATE><COLOR></COLOR><DETAILED>0</DETAILED></foto>
<foto smallfoto="Fotos/smallbardak.jpg " bigfoto="Fotos/bigbardak.jpg ">
<SMALLFOTO>Fotos/smallbardak.jpg </SMALLFOTO>
<BIGFOTO>Fotos/bigbardak.jpg </BIGFOTO>
<TITLE>Рабочий беспорядок </TITLE>
<COMMENT>Рто было Сѓ меня РЅР° столе, РєРѕРіРґР° СЏ паял таймер для фотопечати, которого, кстати, РґРѕ СЃРёС… РїРѕСЂ нет :) </COMMENT>
<DATE>27.05.2003 </DATE>
<COLOR></COLOR>
<DETAILED>1</DETAILED>
</foto>
</album>
-------------------------------------------------------------------(Если просмотрели до того места уже спосибо...) При просмотре страницы .рнр на сервере через мозилу, получаю ответ:
---------------------------------------------------------------
Warning: Unknown(/var/www/html/xml.php): failed to open stream: Permission denied in Unknown on line 0Warning: (null)(): Failed opening '/var/www/html/xml.php' for inclusion (include_path='.:/usr/share/pear') in Unknown on line 0
----------------------------------------------------------------В чем дело если встречались помогите !!! плиз не охота юзать базы данных.
у меня установлены модули xml_rpc и dom_xml других xml'ных модулей вроде нет.
Он не может найти файл "xml.php"
До обработки XML он даже не дошел.
>Он не может найти файл "xml.php"или правов на xml.php не хватает
>До обработки XML он даже не дошел.
>>Он не может найти файл "xml.php"
>
>или правов на xml.php не хватает
>
>>До обработки XML он даже не дошел.:( а что делать простые .рнр-скрипты апач обрабаывает, а тот даже не видет(xml_rpc и dom_xml стоят). Кстати IIS отвечат на запуск скрипта открывающего XML-файл...:
----------------------------------------
Парсер успешно создан
XML error: XML declaration not finished at line 1
--------------------------------------------
Почему тут ощибка кодировка вроде как UTF-8
>>>Он не может найти файл "xml.php"
>>
>>или правов на xml.php не хватает
>>
>>>До обработки XML он даже не дошел.
>
на счет прав я под root
> на счет прав я под rootТут не твои права были упомянуты, а права файла.
>> на счет прав я под root
>
>Тут не твои права были упомянуты, а права файла.
ок это я посмотрю, а не знаешь почему из по IIS-5.1
(все прежние условия, только веб-сервер не апач а IIS)
Пишет:
------------------------------
Парсер успешно создан
XML error: XML declaration not finished at line 1
----------------------------------
(ему что не нравится деклорация ХМЛ она там такая <? version="1.1" encoding="UTF-8"?>)
я пробовал менять кодировки все тоже самое.
не знаю почему это в инете ответа пока не нашел. :(, а с линуксом щас загружусь а как права файла поднять(не принципиально) ?
Все Работает ! Ты был прав на счет прав доступа ! Как только я разрешил доступ до .рнр и чтение test.xml Все заработало.
Вот что значит привык работать в windows'e.
Всем спасибо, в принцыпе тему можно считать закрытой )