Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Подключение сценариев

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
dedyshka
Отправлено: 10 Апреля, 2011 - 23:47:39
Post Id


Новичок


Покинул форум
Сообщений всего: 31
Дата рег-ции: Янв. 2011  


Помог: 1 раз(а)




Добрый день. Вот такой маленький вопросик:

В файле настроек config.php у меня подключается, допустим, набор классов:

PHP:
скопировать код в буфер обмена
  1. require_once ("../../class.1.php");
  2. require_once ("../../class.2.php");
  3. require_once ("../../class.3.php");
(эти пути относительно файла config.php)

а файл index.php, который лежит на уровень выше в папке, подключает этот файл настроек config.php. Вопрос: надо ли менять при подключении файла пути, ведь это уже будет не

PHP:
скопировать код в буфер обмена
  1. require_once ("../../class.1.php");


а

PHP:
скопировать код в буфер обмена
  1. require_once ("../class.1.php");
(относительно файла index.php, в который подключается config.php)

?

ЗЫ. надеюсь, мои спутанные мысли вопрос изложили точно)

(Отредактировано автором: 10 Апреля, 2011 - 23:49:50)

 
 Top
Haron
Отправлено: 11 Апреля, 2011 - 05:34:43
Post Id



Частый гость


Покинул форум
Сообщений всего: 197
Дата рег-ции: Июнь 2010  
Откуда: Оттуда


Помог: 5 раз(а)




Друг, забудь про /../../../..
Запаришься потом искать что где подключено, и почему не работает

Используй другие способы, есть такие замечательные вещи как:

Предопределённые константы:
DIRECTORY_SEPARATOR - выводит разделитель директорий (В винде это \ в никсах - /) - полезная вещь.
__FILE__ - имя текущего файла, в котором вызвана эта константа

Суперглобальные переменные:
$_SERVER['DOCUMENT_ROOT'] - полный путь до корневой папки с текущим сайтом (У меня оно выведет c:\server\home\localhost\)

Полезные функции:
dirname($file) - выводит путь до файла $file (Пример: dirname(__FILE__) - выведет полный путь до файла где эта конструкция вызвана)
basename($file) - выведет только имя файла по полному пути с именем файла (Пример: basename('c:\server\home\localhost\index.php') - выведет index.php)

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

Ещё пара советов по теме:
DIRECTORY_SEPARATOR - лучше переопределить покороче, например define('D_S', DIRECTORY_SEPARATOR), и юзать константу D_S, а то длинно слишком.
Определить расширение текущего файла: substr(strrchr(__FILE__, '.'), 1) - тоже иногда бывает полезно.


-----
И чё?
 
 Top
dedyshka
Отправлено: 11 Апреля, 2011 - 08:20:22
Post Id


Новичок


Покинул форум
Сообщений всего: 31
Дата рег-ции: Янв. 2011  


Помог: 1 раз(а)




вылетают такие простые вещи из головы(
спасибо)
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB