|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
13.09.2012, 08:19 | #1 |
Пользователь
Регистрация: 13.06.2010
Сообщений: 53
|
Проблема с include и абсолютными путями
При указании абсолютного пути выдается ошибка
Warning: include(Z:/home/localhost/www/administrator/index.php) [function.include]: failed to open stream: No such file or directory in Z:\home\localhost\www\NeoGen\index. php on line 3 Warning: include() [function.include]: Failed opening 'Z:/home/localhost/www/administrator/index.php' for inclusion (include_path='.;/usr/local/php5/PEAR') in Z:\home\localhost\www\NeoGen\index. php on line 3 administrator Хотя файлы там есть! В чем проблема может заключатся? может как то нужно разрешить в php использование абсолютных путей в include? Если да то как пожалуйста объясните? желательно чтобы разрешить через .htaccess. |
13.09.2012, 08:26 | #2 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,177
|
зачем использовать абсолютные пути?
|
13.09.2012, 08:31 | #3 |
Пользователь
Регистрация: 13.06.2010
Сообщений: 53
|
Дело в том что ипользование относительных путей приводит к тому, что система сама достраивает относительный путь до абсолютного, проверяет на его наличие и доступность а затем открывает, поэтому многие утверждают что ипользование абсолютных путей избавляет сервер от лишних рутинных операций.
Было бы не так важно если бы в моем проекте не было так много include вложений. Просто пишу CMS систему, поэтому подключений будет множество. Просто не могу понять почему даже явное указание на файл выдает ошибку, с относительным - никаких ошибок нет. Пишу так к примеру include ($_SERVER['DOCUMENT_ROOT']."/index.php"); Выдается ошибка, её я описал выше |
13.09.2012, 08:44 | #4 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,177
|
1. ерунда на постном маргарине
2. уменьшайте инклюды 3. не используйте абс. пути. представьте делаете другой сайт - что все пути переписывать, менять? не везде можно использовать абс путь в следствии ограничения хостом доступа тока в корень сайта, а ниже - ни-ни |
13.09.2012, 08:51 | #5 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,177
|
Код:
|
13.09.2012, 08:51 | #6 |
Пользователь
Регистрация: 13.06.2010
Сообщений: 53
|
Абсолютный путь тоже можно привести к более менее относительному используя define так что менять и не придется многое!
К примеру define('ROOT_DIR',$_SERVER['DOCUMENT_ROOT']); а использовать так include(ROOT_DIR.'/include.php') Ошибка я понял в чем. почему то $_SERVER['DOCUMENT_ROOT'] вернул каталог без корневой папки Neogen. Думаю лучше вместо него использовать dirname(__FILE__) или указав параметром обсалютный путь к корневому файлу index.php, получив до него абсолютный путь |
13.09.2012, 08:58 | #7 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,177
|
так тоже можно
|
13.09.2012, 08:59 | #8 |
Пользователь
Регистрация: 13.06.2010
Сообщений: 53
|
Хотя так не пройдет там абсолютный путь как параметр должен быть.. ну и ладно =) проблема закрыта. один раз думаю можно прописать
Код:
Вопрос закрыт =) Всем спасибо. |
13.09.2012, 11:12 | #9 | |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
Цитата:
Забейте, абсолютные пути нужны, если у Вас инициализируются тысячи файлов. |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с путями при создании инсталлера | DartLenin | Помощь студентам | 0 | 22.01.2012 10:27 |
Проблема с #include | Batsits | Общие вопросы C/C++ | 1 | 14.10.2011 20:40 |
Проблема с путями подключения скриптов | regman | PHP | 9 | 30.09.2009 13:21 |
Проблема с путями к БД и *.dll | honor | БД в Delphi | 5 | 25.01.2008 08:54 |
include проблема (redefine error) MS VS 2005 | CyberM | Общие вопросы C/C++ | 1 | 29.06.2007 16:30 |