LINUX.ORG.RU

Как определить путь к CGI скрипту?


0

0

Люди! Как определить из CGI скрипта на C++ физический путь к самому себе? Это нужно для указания пути к входным файлам которые лежат вмесие со скриптом в директории /Lib. Оказалось, что в argv[0] лежит только имя скрипта. Заранее спасибо!

anonymous

Вообще путь к файлам CGI содержится в одной из переменных окружения скрипта. Не помню в какой но можешь поискать инфу в нете, там точно есть. А вообще если нужно указать путь к файлам из той-же директории то путь будет такой ./file_name потомучто каталог "." всегда текущий каталог.

OxiD ★★★★
()

Оксид. А ты уверен что, скажем, апач пускает скрипты "из текущей" директории? :) А какой ньть SuperHTTP? :)

Nefer
()

ENV - SCRIPT_FILENAME если я все правильно перепутал. Обрезаешь хвост до первого слеша и получаешь путь. Насчет текущей директории мне кажется все не так однозначно. Например, скрипт может дергаться как через CGI, так и через SSI (немного в сторону, но близко). Какой будет текущий путь, для скрипта /cgi-bin/something/script.cgi , дергаемого со страницы /about/staff/ через include virtual? А через exec? 8-))

ach
()

...а вообще для вытаскивания всех текущих ENVов достаточно удобно использовать простой перловый скриптик:

print "Content-type: text/plain\n\n";

foreach (sort keys %ENV) {
print "$_=$ENV{$_}\n";
}

ach
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.