[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблема с одинаковыми именами файлов
sitev
в корневом каталоге находиться файл blog.php
подключаю в нём файл: require_once "cms/sitev.php"

в каталоге cms находяться файлы sitev.php и blog.php
в файле sitev.php подключаю файл require_once "blog.php",
в котором описан класс CBlog

если эти два файла одинаковые и называются blog, то класс CBlog считается не описанным,
если переименовываем один, например, в blog1.php, то всё работает...

что делать?



Спустя 13 часов, 24 минуты, 10 секунд (15.02.2009 - 06:08) sitev написал(а):
нашёл выход... пришлось сделать вот так...
require_once dirname(__FILE__)."/blog.php";

извращение...
похоже на ошибку разработчиков PHP biggrin.gif

Спустя 1 час, 2 минуты, 5 секунд (15.02.2009 - 07:10) kirik написал(а):
Цитата (sitev @ 14.02.2009 - 22:08)
похоже на ошибку разработчиков PHP biggrin.gif

Похоже на ошибку указания пути до подключаемого файла wink.gif
Всегда нужно указывать полный путь до файла во избежание подобных недоразумений.
PHP
$site_root = '/var/www/site.com'; // корневая папка сайта

// Файл ~/blog.php -
require($site_root.'/cms/sitev.php');

// Файл ~/cms/sitev.php
require($site_root.'/cms/blog.php');

Спустя 2 часа, 12 минут, 13 секунд (15.02.2009 - 09:22) sitev написал(а):
что-то я не помню, чтоб такое в с++ было...
уж если разработчики PHP стырили 90% плюсового синтаксиса, могли бы и с инклудами что-нить подобное сделать...

если делать использовать $site_root, как у тебя, то это не очень гибко, вдруг cms я хочу засунуть в какую-нить другую папку.... лучше уж тогда применить dirname(__FILE__), как у меня...

Спустя 1 час, 34 минуты, 46 секунд (15.02.2009 - 10:57) kirik написал(а):
Цитата (sitev @ 15.02.2009 - 01:22)
лучше уж тогда применить dirname(__FILE__), как у меня...

Без проблем smile.gif
Цитата (sitev @ 15.02.2009 - 01:22)
если делать использовать $site_root, как у тебя, то это не очень гибко, вдруг cms я хочу засунуть в какую-нить другую папку....

На это существуют config файлы в которых все заранее описывается при установке скрипта.

Спустя 6 часов, 45 минут, 42 секунды (15.02.2009 - 17:42) sitev написал(а):
у меня эта плёвая проблема даже вылилась в большое пространное рассуждение в моём блоге smile.gif
http://sitev.ru/index.php?wnd=blog.php

Спустя 4 часа, 6 минут, 21 секунда (15.02.2009 - 21:49) kirik написал(а):
sitev, это кстати тут описано -

Цитата
Files for including are first looked for in each include_path entry relative to the current working directory, and then in the directory of current script. E.g. if your include_path is libraries, current working directory is /www/, you included include/a.php and there is include "b.php"  in that file, b.php is first looked in /www/libraries/  and then in /www/include/. If filename begins with ./ or ../, it is looked only in the current working directory.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.