Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: разработка для Web > perl : гостевая книга


Автор: bnmuser 26.2.2004, 13:46
Пожалуйста, помогите! Perl не знаю.
Windows 2000 pro, IIS 5.0, ActivePerl 5.6.0
Гостевая книга работает нормально. Но все пути в командах скрипта на Perl - абсолютные. Заменил пути во всех командах, кроме двух нижеперечисленных, на относительные (Url)- тоже работает. Если же меняю в этих - скрипт выполняется неправильно.
Фрагмент скрипта:
Код
# open and read in the old guestbook
# Note: Creating a backup copy of the file might not be a bad idea
   open(GB,"<C:/IPIC_INT/Guest Book/guest_book.htm");
   @lines = <GB>;
   close GB;

и
Код
# Empty the old guest book, and print it out again, adding the new entry
   open(GB,">C:/IPIC_INT/Guest Book/guest_book.htm");
   ..............
   close GB;

Как можно поменять путь в этих командах
C:/IPIC_INT/Guest Book/guest_book.htm
на относительный. Например, на
Location:http://class/Guest Book/guest_book.htm (Если заменить так, то скрипрт выполняется неправильно).
Или есть другие правила.
Спасибо!

Автор: Secandr 26.2.2004, 14:02
http:// - указывать нельзя.

А зачем относительный путь указывать?
И нельзя ли положить guest_book.htm в туже папку, что и скрипт?

Автор: bnmuser 26.2.2004, 14:55
Сейчас сайт крутиться в Интранете в ЛВС и расположен на сервере, в котором я знаю структуру папок и имею к ним доступ.
Надо перенести его на сервер провайдера (что, собственно говоря, уже и сделано- все работает, кроме гостевой книги), в который у меня нет доступа, кроме как к своему каталогу и абсолютный путь я не могу указать.
А перенос guest_book.htm пока не желателен, хотя ...
А если перенести, как указать тогда путь?
Может быть так:
Код
open(GB,"<guest_book.htm");

или
Код
open(GB,"</guest_book.htm");


А вообще, корректно ли ставить путь, например в команде,
Код
push(@INC,"Location:http://class/cgi-bin/");

вместо
Код
push(@INC,"C:/ipic_INT/cgi-bin/");

С такой заменой в ЛВС все работает правильно.
Спасибо!



Автор: Secandr 26.2.2004, 17:06
Код
open(GB,"<guest_book.htm");
Работать будет только в том случае если скрипт и файл лежат в одной папке, а путь к файлу узнать просто:
Код
print $ENV{"DOCUMENT_ROOT"};

Автор: bnmuser 27.2.2004, 14:39
Secandr!

Большое спасибо!

Все пошло.

С уважением,
bnmuser

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)