Реклама на сайте Advertise with us
Тема: Взаимодействие двух скриптов Расширенный поиск по форуму
 
Внимание! В связи с устареванием топика эта страница была взята из кэша.
Автор Сообщение
Информация о пользователе clever


Зарегистрирован: 18.02.03
Сообщения: 801
Ссылка на сообщениеДобавлено: 27/02/04 в 16:35     

На других форумах мне так внятно и не ответили, возможно ли такое.
Советуют использовать include, но мне надо по другому, с includ'ом возникают проблемы: если скрипт который инклудят лежит в другой директории, то после инклуда придётся менять пути к файлам, которые он использует.

Задача: в 1-вом скрипте выполнить функцию из 2-ого и получить результат (return) в первый скрипт. 2-ой скрипт лежит в другой директории и является независимым модулем, роаботающим с файлами в своей директории.

Кто наставит на путь истинный +4 к рейтингу.

K началу

 
Информация о пользователе clever


Зарегистрирован: 18.02.03
Сообщения: 801
Ссылка на сообщениеДобавлено: 27/02/04 в 16:58     

Ну или хотябы нужно так заинклудить файл, чтобы его функции как бы физически находились в своей папке.

K началу

 
Информация о пользователе Pentarh


Зарегистрирован: 05.04.03
Сообщения: 2378
Ссылка на сообщениеДобавлено: 27/02/04 в 18:45     

getcwd() - запоминаешь нынешний путь
chdir() - меняешь каталог на каталог 2-го скрипта
include() - делаешь инклюд
chdir() - меняешь каталог на исходный, запомненный с помощью getcwd().
поехал дальше...

Во всяком случае мне помогало... Правда иногда переменные 2-го скрипта могут конфликотвать с переменными 1-го...

K началу

 
Информация о пользователе undef


Зарегистрирован: 15.09.03
Сообщения: 357
Ссылка на сообщениеДобавлено: 27/02/04 в 18:54     

насчет путей .. а нельзя там явно указать пути, типа в конфиге прописать расположение файлов?

насчет конфликтов переменных - если я не ошибаюсь, то можно включить все в блок { .. }

типа

{
external_function();
}

хотя..... подзабыл немного пэхапэ ;)

K началу

 
Информация о пользователе webboxxx


Зарегистрирован: 06.03.03
Сообщения: 405
Ссылка на сообщениеДобавлено: 27/02/04 в 22:56     

вообще то переменные не отмеченные в функции как global являются локальными внутри этой функции, поэтому конфликтов с переменными основного скрипта возникать не будет.
по поводу сабжа согласен с Pentarh, только путь нужно будет менять не перед инклудом, а перед вызовом каждой функции из этого скрипта

K началу

 
Информация о пользователе Patriarch


Зарегистрирован: 05.08.03
Сообщения: 73
Ссылка на сообщениеДобавлено: 28/02/04 в 00:30     

А я вот ниче не могу сказать по этой теме, поэтому и не лезу, но плюсы хочу, ......... пить надо больше и все будет ок icon_smile.gif

K началу

 
Информация о пользователе clever


Зарегистрирован: 18.02.03
Сообщения: 801
Ссылка на сообщениеДобавлено: 28/02/04 в 02:51     

Pentarh писал:
getcwd() - запоминаешь нынешний путь
chdir() - меняешь каталог на каталог 2-го скрипта
include() - делаешь инклюд
chdir() - меняешь каталог на исходный, запомненный с помощью getcwd().
поехал дальше...

Во всяком случае мне помогало... Правда иногда переменные 2-го скрипта могут конфликотвать с переменными 1-го...

Но если в том скрипте функция, и она вызывается из разных точек программы, то придётся перед каждым вызовом chdir() делать.

K началу

 
Информация о пользователе Pentarh


Зарегистрирован: 05.04.03
Сообщения: 2378
Ссылка на сообщениеДобавлено: 28/02/04 в 10:25     

clever писал:
Но если в том скрипте функция, и она вызывается из разных точек программы, то придётся перед каждым вызовом chdir() делать.

Сделай какой-нить
$_GLOBALS['current_dir']=getcwd();
$_GLOBALS['other_dir']='/path/to/your/second/script/';
и две функции
Код:

function CwdPrepare()
{
      chdir($_GLOBALS['other_dir']);
}

function CwdRestore()
{
      chdir($_GLOBALS['current_dir']);
}

ну и потом
Код:

CwdPrepare();
call_to_remote_function();
CwdRestore();


IMHO icon_smile.gif

K началу

 
Информация о пользователе Grumbler


Зарегистрирован: 06.07.02
Сообщения: 117
Ссылка на сообщениеДобавлено: 28/02/04 в 17:03     

А почему бы просто не переписать все скрипты в одну директорию?

K началу

 
Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!
Внимание! В связи с устареванием топика эта страница была взята из кэша.

Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »