2013-02-12 3 views
0

У меня есть файл config.ini с некоторыми значениями. Один из них - путь к корню моего скрипта. Поэтому в моем js-файле я получаю содержимое из файла config.ini, но у меня одна большая ошибка. Чтобы загрузить данные из файла конфигурации, мне уже нужно одно значение из файла конфигурации, а именно путь к файлу конфигурации.Загрузить данные из файла конфигурации со значением из файла конфигурации

Любая идея, как с этим справиться?

С уважением Sylnois

Редактировать:

Это мой Htaccess:

RewriteEngine on 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} -d 

RewriteRule ^.*$ - [L] 

RewriteRule ^([^/]+)/$ index.php?token=$1 [L] 

Это переписывает мою связь с http://domain.com/fun/bla/index.php?token?123 к http://domain.com/fun/bla/123/ .. Так что если кто-то получить доступ к второй ссылке, мой js-скрипт больше не будет запущен, потому что я работаю с относительными путями. Теперь у меня есть значение в моей конфигурации, которое указывает на корневую директорию моего приложения: «./fun/bla/». Все работает так хорошо. Но мое требование состоит в том, что никакие пути не должны быть реализованы в моем коде.

ответ

2

Да. Сохраните путь к вашему конфигурационному файлу в коде. Остальное можно загрузить из файла конфигурации.

У вас не может быть всего в конфигурационном файле. Однажды я работал с кем-то, кто пытался сохранить конфигурацию базы данных в базе данных. И затем осознали свою ошибку, когда они пытались сделать заявку, вы знаете, работать.

+0

Это же вам. У меня есть ссылка, например http://domain.com/fun/bla/. В моем приложении есть все мои файлы. Мой htaccess переписывает мой URL-адрес с http://domain.com/fun/bla/index.php?bla=123 на http://domain.com/fun/bla/123/. Так что мой скрипт больше не может работать, если У меня нет такого пути в моем конфигурационном файле «/ fun/bla». – Sylnois

+0

Дайте мне минуту, я дам вам больше информации в вопросе. – Sylnois

0

То, что я всегда делал это статически определить имя файла конфигурации в моем коде, так что в ваших JS:

config_file = '/path/to/myconfig.ini' 
0

Это проблема курицы и яйца. Файл конфигурации не может содержать путь к конфигурационному файлу, его путь должен быть известен всем частям программы, которые должны знать настройки. Может быть, в вашей программе есть путь как глобальная переменная?

+0

Моя проблема в том, что у меня есть htaccess с правилами поддельных каталогов. Поэтому, если кто-то использует такие поддельные каталоги, путь уже не будет прав. – Sylnois

+0

Имеет смысл жестко кодировать путь к конфигу. А затем добавьте остальные параметры конфигурации в этот файл. Путь может быть задан как путь жестко закодированного файла '/var/www/project/config.ini' и изменен каждый раз, когда htaccess изменяет путь для файла конфигурации. – Husman

+0

Другой вариант - выполнить поиск структуры файла из корня каталога проекта для config.ini - это медленно, но тогда вам не нужно беспокоиться о его местоположении, если оно существует где-то в проекте. – Husman