Внимание! В связи с устареванием топика эта страница была взята из кэша.
|
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
|
|
А я вот ниче не могу сказать по этой теме, поэтому и не лезу, но плюсы хочу, ......... пить надо больше и все будет ок
|
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
|
K началу
|
|
|
Grumbler
Зарегистрирован: 06.07.02
Сообщения: 117
|
Добавлено: 28/02/04 в 17:03
|
|
А почему бы просто не переписать все скрипты в одну директорию?
|
K началу
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |
Внимание! В связи с устареванием топика эта страница была взята из кэша.
|