[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Инклуды, инклуды, инклуды
sjinks
Для себя практикую кое какие проекты, чтобы были хотя бы минимальные наработки (портфтолио?) и столкнулся с такой проблемой. Выложил сабж именно сюда, потому как считаю, что вопрос скорее простой, чем сложный :)

Имеем структуру проекта на PHP:
[..]
-[folder1]
[folderInFolder]
+[folder2]
File1.php
File2.php

В директории ./folder1/folderInFolder создаю файл (допустим, File3.php), к которому мне нужно подключить File1.php (include 'File1.php' и т.п.). Перепробовал разные виды путей и все равно вылетает ошибка вида:


Warning: include_once(Z:/home/site/wwwFile1.php) [function.include-once]: failed to open stream: No such file or directory in Z:\home\site\www\folder1\folderInFolder\File3.php on line 2

Warning: include_once() [function.include]: Failed opening 'Z:/home/site/wwwFile1.php' for inclusion (include_path='.;/usr/local/php5/PEAR') in Z:\home\site\www\folder1\folderInFolder\File3.php on line 2


Файлы названы для пример, да бы не путать никого названиями.
Сборка денвера последней версии, что на их сайте.
Подскажите в чем беда. Спасибо!



Спустя 14 минут, 19 секунд (4.10.2011 - 21:16) KonstantinK написал(а):
дело очевидно в путях почитайте вот тут http://irbis-team.com/15/3/12?PHPSESSID=0e...d9fc555ffa85cb6

Спустя 2 минуты, 25 секунд (4.10.2011 - 21:18) imbalance_hero написал(а):
sjinks
Используй DOCUMENT_ROOT для абсолютного пути.

Спустя 9 минут, 45 секунд (4.10.2011 - 21:28) sjinks написал(а):
KonstantinK, ок, почитаю

imbalance_hero, пробовал - не помогло, к сожалению(

Спустя 1 минута, 28 секунд (4.10.2011 - 21:29) imbalance_hero написал(а):
Ну так покажи, как ты делал, как указывал путь, через ROOT, и INCLUDE.

Спустя 10 минут, 45 секунд (4.10.2011 - 21:40) sjinks написал(а):
include_once $_SERVER['DOCUMENT_ROOT'].'file.php';

как-то так... и даже так:
include_once($_SERVER['DOCUMENT_ROOT'].'file.php');

и без once, и с require

Спустя 58 минут, 47 секунд (4.10.2011 - 22:39) imbalance_hero написал(а):
sjinks
echo $_SERVER['DOCUMENT_ROOT'].'file.php'; - что выводит?

Спустя 41 минута, 31 секунда (4.10.2011 - 23:20) ancient mariner написал(а):
Конкретно в вашем примере я бы для начала поставил обратный слэш перед File1.php :) А то интерпретатор, как вы видите, жалуется на неверный путь небезосновательно:
'Z:/home/site/wwwFile1.php'

Спустя 1 час, 28 минут (5.10.2011 - 00:48) sjinks написал(а):
ancient mariner, да-да. я тоже заметил это почти сразу, но не соображу где именно поставить, т.к. везде вроде есть...


imbalance_hero, ну и выводит то, что написал товарищ в предыдущем посте, т.е.

'Z:/home/site/wwwFile1.php'


Спустя 7 часов, 14 минут, 26 секунд (5.10.2011 - 08:03) linker написал(а):
Что бы сработало Z:\home\site\www\folder1\folderInFolder\File3.php структура папок должны быть такая

Z--+
|
+-home-+
|
+-site-+
|
+-www-+
|
|-File1.php
+-folder1-+
|
+-folderInFolder-+
|
+-File3.php
скрипт на который идёт инклуд располагается здесь Z:/home/site/www/File1.php. Следовательно инклуд из File3.php должен быть таким
include('../../File1.php'); 
инклуд из File1.php на File3.php будет таким
include('./folder1/folderInFolder/File3.php');

Спустя 4 часа, 52 минуты, 53 секунды (5.10.2011 - 12:56) sjinks написал(а):
linker, структура папок верна, переписал всё как сказано, но проблема осталась и ошибка не изменилась...

Спустя 27 минут, 32 секунды (5.10.2011 - 13:23) imbalance_hero написал(а):
sjinks
Видишь, слеша не хватает, потом папку и путь указывай правильный. Откуда я знаю, какой у тебя правильный путь к файлу от Рута

Спустя 2 часа, 45 минут, 43 секунды (5.10.2011 - 16:09) linker написал(а):
Обрати внимание на слэш после $_SERVER['DOCUMENT_ROOT'], я его даже выделилиотдельно
include_once($_SERVER['DOCUMENT_ROOT'] . '/' . 'file.php');

Спустя 2 часа, 42 минуты, 28 секунд (5.10.2011 - 18:51) sjinks написал(а):
и после этого все одно и то же, без слеша...

Спустя 2 часа, 13 минут, 16 секунд (5.10.2011 - 21:05) sjinks написал(а):
наверное, придется менять структуру(

Спустя 10 часов, 37 минут, 11 секунд (6.10.2011 - 07:42) linker написал(а):
File3.php
include('../../File1.php');
File1.php
include('./folder1/folderInFolder/File3.php');
если структура правильная, то это работает, если не работает, значит ты что-то напутал, а мы тут сидим гадаем.

Спустя 16 часов, 7 минут, 39 секунд (6.10.2011 - 23:50) sjinks написал(а):
проблема решена, дело было в самом разрабатываемом движке и совет с DOCUMENT ROOT'ом тоже пригодился.
Спасибо!
Быстрый ответ:

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