![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| bnmuser |
|
||||||||||||||||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 26.2.2004 Репутация: нет Всего: нет |
Пожалуйста, помогите!
Perl не знаю. Скрипт гостевой книги находится на сервере провайдера под UNIX. В домашнем каталоге четыре папки - bin, docs, logs. В папке docs находится весь сайт вместе папкой cgi В папке cgi находятся скрипты и гостевая книга. В скрипте есть команда:
Как правильно указать путь в этой команде , если для IIS 5.0 WINDOWS 2000 я указываю путь
и все работает нормально. Наверное , для UNIX путь указывается как-то по другому. Этот же вопрос для команд
В Windows я ставлю
и
в W2000 :
и, последняя
в W2000 :
Спасибо. |
||||||||||||||||
|
|||||||||||||||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 31 Всего: 61 |
Попробуй так: /cgi/ или /cgi-bin/ т.е. первый слеш указывает, что путь начинается с корневого каталога. Затем указывает на папку cgi или cgi-bin, это зависит от того какая директория предназначена для CGI скриптов, обычно это cgi-bin, но может быть и cgi. Этот путь был для этого: push(@INC,"/usr/local/apache/cgi-bin/"); require("cgi-lib.pl"); Для всех остальных случаях, путь должен быть таким: /cgi/guest/.guestlock или /cgi-bin/guest/.guestlock Удачи. Это сообщение отредактировал(а) korob2001 - 16.3.2004, 22:22 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| bnmuser |
|
||||||||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 26.2.2004 Репутация: нет Всего: нет |
Korob2001, спасибо.
Все сделал. Не пошло. Провайдер долго молчал, но потом все-таки что-то сделал (наверное, дал разрешения на исполнение скриптов и , еще, раскидал по разным папкам скрипт и guest_book.htm) и скрипт начал вроде бы выполняться, выходит на завершение без ругани, но текст сообщения в гостевую книгу не записывается. Теперь вопросы по командам. Подскажите пожалйста, что означают команды
@lines = <GB>; close GB;[/code]
Файлов и папок quest у меня вообще нет. Если можно, поподробнее, пожалуйста. Спасибо. |
||||||||
|
|||||||||
| korob2001 |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 31 Всего: 61 |
В первую очередь: # - означает комментарии, то есть всё, что находится за этим символом, будет пропущено интерпритатором. if ( -e "guest/.guestlock") { sleep(1); } Проверяем существует ли файл .guestlock в каталоге guest, если да, то выполняется блок, в данном случае у нас в блоке 1 оператор sleep(1). sleep(1) - означает заснуть на 1 секунду, другими словами ,программа приостанавливается на 1 секунду в том случае, если в каталоге guest/ есть файл или вложенный каталог с именем.guestlock.
open(LOCK, ">guest/.guestlock"); - открывает файл .guestlock из каталога guest/ для записи и присваивает ему дескриптор LOCK. close( LOCK ) - закрывает файл связанный с дескриптором LOCK open(GB,"<quest/quest.htm") - открывает файл guest.htm из каталога guest для чтения и связывает с ним дескриптор GB. @lines = <GB>; - записываем содержимое всего файла ,связанного с дескриптором GB, в массив @lines. В данном случае, название массива говорит само за себя, так как каждый элемент массива будет содержать каждую отдельную строку файла, такое поведение можно изменить при помощи переменной $/. Кстати этот способ чтения файла не самый лучший, так как содержимое всего файла помещается в оперативную память, а она, как известно, ограничена, как и всё в этом мире. Если файл не слишком большой, то можно и удобнее воспользоваться этим способом, но если размер файла может перевалить, ну скажем, за 100 mb и более ,то лучше воспользоваться таким способом чтения файла:
При таком подходе нет необходимости писать весь файл в оперативную память, мы обрабатываем файл любого размера построчно. По возможности советую преобрести привычку пользоваться только таким способом чтения файлов. Это будет хорошая привычка. ;) close GB - закрываем файл, связанный с дескриптором GB unlink("quest/.questlock") - удаляет файл .guestlock из каталога guest Удачи ;) Это сообщение отредактировал(а) korob2001 - 6.4.2004, 20:47 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||||
|
|||||||
| Гость_Kenjik |
|
|||
|
Unregistered |
|
|||
|
||||
| Guest |
|
|||
|
Unregistered |
korob2001
|
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 31 Всего: 61 |
Каким образом ты пытаешься подключиться к БД ( часть кода )?
-------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |