Нужна помощь: Использование функций с php.файла с другого сайта

D
На сайте с 09.06.2006
Offline
165
1221

Да что ж такое, прямо заклинило меня и все тут! :no:

Ситуация такая:

Есть несколько сайтов, использующих типовые функции. Например, очистка тегов, проверка валидности емайла, перевод введенной суммы из чисел в строковое выражение и т.д.

И есть потребность вынести все такие функции в отдельный файл, например, functions.php, и оставить на одном сайте (site.ru), но так, чтобы другие сайты (site1.ru, site2.ru, site3.ru) могли использовать описанные в нем функции.

Обычный include (httр://site.ru/functions.php); не дает эффекта. Файл php исполняется на сайте site.ru и другие сайты (site1.ru, site2.ru, site3.ru) понятия не имеют, что там происходит и какие функции описаны...

Если сделать, чтобы функция выполнялась на site.ru/functions.php, и на выходе имела результат конкретной функции, тогда готовую строку на сайтах (site1.ru, site2.ru, site3.ru) также использовать не получается...

Прям в тупик зашел и спать не могу второй день! :rolleyes:

Никто не сталкивался с реализацией подобного?

DIAFAN.CMS (http://www.diafan.ru/), система управления сайтами.
NB
На сайте с 14.09.2004
Offline
95
#1

Никак.

Только дублировать functions.php на каждом сайте.

Dalim
На сайте с 13.01.2006
Offline
47
#2

Если сайты находятся на одном сервере и у них один владелец (учетная запись), то можно просто инклудить с полным путем до файла начиная от корня /home/....

unknown
На сайте с 10.06.2006
Offline
94
#3

diafan, переименуй functions.php в txt и тогда она не будет исполнятся там где лежит..

include("functions.txt"); 

а будет исполняться в коде где вставляешь 🚬

pro-maker
На сайте с 08.12.2003
Offline
281
#4
diafan:
Есть несколько сайтов, использующих типовые функции. Например, очистка тегов, проверка валидности емайла, перевод введенной суммы из чисел в строковое выражение и т.д.
И есть потребность вынести все такие функции в отдельный файл, например, functions.php, и оставить на одном сайте (site.ru), но так, чтобы другие сайты (site1.ru, site2.ru, site3.ru) могли использовать описанные в нем функции.

Положите functions.php выше сайтов и инклудьте.

PHPExpert
На сайте с 04.02.2006
Offline
104
#5

альтернатива всему сказанному выше.

$code = file_get_contents("phpcode.txt");

eval($code);

D
На сайте с 09.06.2006
Offline
165
#6
unknown:
diafan, переименуй functions.php в txt и тогда она не будет исполнятся там где лежит..

include("functions.txt"); 


а будет исполняться в коде где вставляешь 🚬

Да, так-то конечно работает... Но код-то доступен всем!

Закрыть его с помощью .htaccess...?

Ладно, спасибо всем! :)

alexspb
На сайте с 14.11.2005
Offline
187
#7
diafan:
Но код-то доступен всем! Закрыть его с помощью .htaccess...?

Так он по протоколу HTTP не будет доступен (если конечно не перечилять айпишники, которым откроете), тогда так можно извратиться:

functions.txt кладете в папку, которая закрыта в .htaccess

создаете файл functions.php в доступной директории для HTTP

файл инклюдит functions.txt, но только если к нему обращаются по ссылке типа functions.php?login=blablabla&password=pas

код будет отдаваться только по ссылке

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий