VETERINAR
Guest
"Permission denied" в открытии удалённого файла, доступного для чтения.
Здравствуйте! Прошу мне помочь. При написании простейшего парсера, я столкнулся с проблемой. При открытии на чтение удалённого файла вылетает ошибка "Permission denied". Никак не могу понять причину ошибки. Права на чтение есть, в коде вроде тоже ошибок нет (Перелопатил кучу литературы и везде код совпадает с моим). Помогите пожалуйста!
Вот код:
А если вместо удалённого файла писать локальный, то всё работает... Чуть веру в жизнь не потерял. Буду очень благодарен за помощь.
Здравствуйте! Прошу мне помочь. При написании простейшего парсера, я столкнулся с проблемой. При открытии на чтение удалённого файла вылетает ошибка "Permission denied". Никак не могу понять причину ошибки. Права на чтение есть, в коде вроде тоже ошибок нет (Перелопатил кучу литературы и везде код совпадает с моим). Помогите пожалуйста!
Вот код:
PHP:
<?php
Error_Reporting(E_ALL & ~E_NOTICE);
// Регистрируем класс "проект"
class project {
var $title;
var $link;
var $guid;
var $pubDate;
function project ($aa) {
foreach ($aa as $k=>$v)
$this->$k = $aa[$k];
}
}
function readDatabase($filename) {
// читать xml БД проектов
$data = implode("",file($filename));
$parser = xml_parser_create();
xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,0);
xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,1);
xml_parse_into_struct($parser,$data,$values,$tags);
xml_parser_free($parser);
// цикл по этим структурам
foreach ($tags as $key=>$val) {
if ($key == "item") {
$molranges = $val;
// каждая пара вхождений массива это нижняя и верхняя
// границы диапазона для определения каждого проекта
for ($i=0; $i < count($molranges); $i+=2) {
$offset = $molranges[$i] + 1;
$len = $molranges[$i + 1] - $offset;
$tdb[] = parseMol(array_slice($values, $offset, $len));
}
} else {
continue;
}
}
return $tdb;
}
function parseMol($mvalues) {
for ($i=0; $i < count($mvalues); $i++)
$mol[$mvalues[$i]["tag"]] = $mvalues[$i]["value"];
return new project($mol);
}
$db = readDatabase("http://www.free-lance.ru/rss/projects.xml");
//print_r($db);
while (list ($key, $val) = each ($db)) {
while (list ($key2, $val2) = each ($val)) {
$$key2=$val2;
}
echo "<H1>$title</H1><H2>$link</H2>$guid<H3></H3><H4>$pubDate</H4><br><br><br><br>";
}
php?>
А если вместо удалённого файла писать локальный, то всё работает... Чуть веру в жизнь не потерял. Буду очень благодарен за помощь.