Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.09.2009, 13:10   #1
regman
Пользователь
 
Регистрация: 11.07.2009
Сообщений: 90
По умолчанию Проблема с путями подключения скриптов

Объясните пожалуйста правильный синтаксис написания подключения путей. Наведу пример. Есть кореневой каталог web - с index.php, а также файлом скриптов functions.php, который нужно подключать к каждой странице сайта, в том числе и из вложенных каталогов. В web имеется каталог about. В каждой странице кореневого каталога web есть include ("functions.php");. Вот если таким же путем подключать файл functions.php из вложенного каталога about, то этого файла не видно. Как заставить подключать файл functions.php из любого вложенного каталога?? Тоесть существует ли возможность вернутся в корневой каталог сайта из любого вложеного 2, 3-го уровня каталога?
Apache/2.2.23 (Win32) PHP/5.3.18
Win7Pro 64
Vertrigo
regman вне форума Ответить с цитированием
Старый 29.09.2009, 13:46   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,219
По умолчанию

Можно так:
include ("../functions.php");
Arigato вне форума Ответить с цитированием
Старый 29.09.2009, 13:49   #3
Metandrostenalon
Форумчанин
 
Регистрация: 03.04.2009
Сообщений: 108
По умолчанию

PHP код:
include($_SERVER['DOCUMENT_ROOT'] . '/functions.php'); 
если у вас есть общий подключаемый файл(например config.php), то можно определить константу
php,javascript
Metandrostenalon вне форума Ответить с цитированием
Старый 29.09.2009, 16:35   #4
regman
Пользователь
 
Регистрация: 11.07.2009
Сообщений: 90
По умолчанию

еще один вопрос. Какая разница между выражениями:
1. include ("functions.php");
2. include ("/functions.php");
3. include ("./functions.php");
4. include ("../functions.php");

1-й вариант - вроде поиск в текущем каталоге.
4-й вариант - это вроде выход на каталог уровнем выше.
а 2-й и 3-й??
Apache/2.2.23 (Win32) PHP/5.3.18
Win7Pro 64
Vertrigo
regman вне форума Ответить с цитированием
Старый 29.09.2009, 17:12   #5
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,219
По умолчанию

2 - корневой каталог.
3 - текущий каталог.
Arigato вне форума Ответить с цитированием
Старый 29.09.2009, 18:01   #6
regman
Пользователь
 
Регистрация: 11.07.2009
Сообщений: 90
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
2 - корневой каталог.
3 - текущий каталог.
видимо не совсем так. Веб-сервер выдает ошибку:
Warning: include(/functions.php) [function.include]: failed to open stream: No such file or directory in E:\_www\web\orphansfuture\aboutfond \history.php on line 3

Я тут подумал, может проще будет заделать функцию поиска подключаемого файла на каталог выше до тех пор пока не будет достигнут желаемый результат?? Ну там с каждым шагом цикла в случае неудачи посылать веб-сервер на уровень выше. Хотя все-таки хотелось бы окончательно уяснить вопрос с путями.

И еще походу вопрос. Существует ли какая-то встроенная функция либо переменная по извлечению корневого каталога сайта?
Apache/2.2.23 (Win32) PHP/5.3.18
Win7Pro 64
Vertrigo

Последний раз редактировалось regman; 29.09.2009 в 18:08.
regman вне форума Ответить с цитированием
Старый 29.09.2009, 18:11   #7
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,219
По умолчанию

Цитата:
Сообщение от regman
видимо не совсем так. Веб-сервер выдает ошибку:
Warning: include(/functions.php) [function.include]: failed to open stream: No such file or directory in E:\_www\web\orphansfuture\aboutfond \history.php on line 3
Видимо, вы и не можете подключить скрипт, находящийся выше корня вашего сервера. Но я так никогда не экспериментировал, т.к. не за чем.

Цитата:
Сообщение от regman
Я тут подумал, может проще будет заделать функцию поиска подключаемого файла на каталог выше до тех пор пока не будет достигнут желаемый результат?? Ну там с каждым шагом цикла в случае неудачи посылать веб-сервер на уровень выше. Хотя все-таки хотелось бы окончательно уяснить вопрос с путями.
Посмотрите ответ Metandrostenalon
Arigato вне форума Ответить с цитированием
Старый 29.09.2009, 22:10   #8
Jensi
beneto.ru
Форумчанин
 
Регистрация: 09.03.2009
Сообщений: 174
По умолчанию

Может это http://www.google.com.ua/search?hl=r...81%D0%BA&meta= ?
Jensi вне форума Ответить с цитированием
Старый 30.09.2009, 11:19   #9
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,714
По умолчанию

Всё правильно работает, / - указывает что путь абсолютный
Цитата:
2. include ("/functions.php");
будет искать файл в вашем случае здесь E:\
Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Старый 30.09.2009, 13:21   #10
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Цитата:
Сообщение от regman Посмотреть сообщение
еще один вопрос. Какая разница между выражениями:
1. include ("functions.php");
2. include ("/functions.php");
3. include ("./functions.php");
4. include ("../functions.php");

1-й вариант - вроде поиск в текущем каталоге.
4-й вариант - это вроде выход на каталог уровнем выше.
а 2-й и 3-й??
1 - поиск файла произведен будет в текущем каталоге, а также в каталогах, прописанных в системной переменной PHP "path"
2 - в корне сайта (не диска)
3 - в текущем.
4 - в родительском. если родительского нет, потому что текущий = корневой, то тогда в текущем.
SkyM@n вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема подключения к интернеты. Chudo4258 Помощь студентам 2 23.06.2009 10:40
Проблема с выполнением скриптов в IE rom@nыч JavaScript, Ajax 7 17.08.2008 18:56
Проблема с отображением джава скриптов LSDkltn HTML и CSS 2 01.04.2008 10:38
Проблема с путями к БД и *.dll honor БД в Delphi 5 25.01.2008 08:54
Проблема подключения к запущенному Word Russo Microsoft Office Word 4 08.08.2007 15:49