PDA

Просмотр полной версии : Доступ к XML-файлу вне DOCUMENT_ROOT сервера


unlex
13.03.2009, 12:19
Не успел решить одну проблему, появилась следующая. )
В общем, необходимо читать в ролике данные из XML-файла. Сайт разрабатывается на php. При тестировании вне сервера, или когда файл находится в директории www сервера все получается, то есть читается и разбирается документ нормально. Но у меня структура организована чуть иначе - в папке www содержится лишь индексный файл и публичные файлы (css, img и так далее).
Вся остальная логика приложения содержится в папке application, которая лежит вне публичной директории www, соответственно там же лежит и файл settings.xml, который должен читаться из flash.
Так вот, если указать
xmlData.load('/../application/settings/config.xml');
то
xmlData.onLoad = function(bSuccess:Boolean):Void {
if (bSuccess){
nodes = xmlData.firstChild.childNodes;
test.text = nodes;
}
}
срабатывает, НО выводится не содержимое xml-файла, а html-код страницы :wacko:
По всей видимости дело в настройках безопасности или что-то подобное, потому что , если разместить xml-файл в директории www все читается корректно.
Можно ли как-то эту проблему обойти?

wvxvw
13.03.2009, 14:07
Потому, что на сервере очевидно Zend фреймворк и включен mode rewrite - ответ, никак нельзя получить XML не модифицируя индекс ПХП который отвечает за то, какой контент будет показан при обращении к директории, или поменять правило, по которому XML файлы обрабатываются ПХП тоже.
Т.е. я бы скорее всего сделал так: создал алиас для папки с XML'ями, определил бы для нее getaway.php который бы обрабатывал пришедший запрос, и решал, какой файл отдать пользователю. Или просто в публичную директорию положил файл типа get-xml.php, а когда нужен был бы определенный XML - get-xml.php?filename=some.xml и пусть бы уже ПХП файл искал бы, где этот XML находиться и отдавал.

unlex
13.03.2009, 14:13
Спасибо, сделаю немного иначе. Обращаться флэшка будет не к файлу на прямую, а к пхп-скрипту, который уже будет читать xml и отдавать его ролику.
P.S. На сервере не Zend Framework, а собственный, но идея подсмотрена там )