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 :: ошибка include_once

 PHP.SU

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


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

> Описание: При подключении файлов с директорий на уровень выше
Lisorub
Отправлено: 14 Мая, 2012 - 23:41:45
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Май 2012  


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




Разбираюсь с моделью MVC.
Есть структура файловой системы сайта:

index.php (в корне сайта)
models/mcontent.php
controllers/ccontent.php
views/vcontent.php
config/config.php
config/db.php

связка с помощью include_once:
config<-db<-mcontent<-ccontent<-vcontent<-index

во всех инклудах использую относительные адреса подключаемых файлов:

в файлах mcontent, ccontent, vcontent подключение работает отлично, исползую возврат на уровень выше ../

Но как только очередь доходит до файла index, где нужно подключить файл vcontent, который находится в папке на уровень ниже, сразу начинаются проблемы...

Для проверки правильности кода скидывал все-все файлы в одну папку, инклуд на одному уровне работает отлично.... но вот с вариантом, описаныв выіше - нет..

Код в файле index.php:
PHP:
скопировать код в буфер обмена
  1. require_once 'views/vcontent.php';

так же прописывал абослютный путь.. та же ошибка:

Warning: require_once(../controllers/ccontent.php):
failed to open stream: No such file or directory in /var/www/localsite1/www/views/vc ontent.php on line 3
Fatal error: require_once():
Failed opening required '../controllers/ccontent.php' (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/localsite1/www/views/vc ontent.php on line 3


Из того, что успел нагуглить, проблема кроется в файле конфигурации php-сервера, но нет никого, кто бы дал пинок в нужном направлении или тыкнуло носом.

Прошу помощи.

(Отредактировано автором: 15 Мая, 2012 - 14:04:34)

 
 Top
Данил_123
Отправлено: 14 Мая, 2012 - 23:56:24
Post Id


Участник


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


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




rfffff
PHP:
скопировать код в буфер обмена
  1. require_once 'views/vcontent.php';


-----
http://mysitecost.ru
 
 Top
Lisorub
Отправлено: 15 Мая, 2012 - 00:10:59
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Май 2012  


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




[quote=Данил_123][/quote]
Прошу прощения. Я вручную прописывал, когда описывал проблему, забыл добавить php, но проблема все та же.
 
 Top
Данил_123
Отправлено: 15 Мая, 2012 - 00:17:42
Post Id


Участник


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


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




почитайте про относительные пути.. или попробуйте:
PHP:
скопировать код в буфер обмена
  1. include_once('./views/vcontent.php');
вроде так..


-----
http://mysitecost.ru
 
 Top
DelphinPRO
Отправлено: 15 Мая, 2012 - 03:14:48
Post Id



Активный участник


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


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




файл индекс.пхп лежит в корне сайта. Если это единственная точка входа то
в нем определите константу


и используйте при инклудах

PHP:
скопировать код в буфер обмена
  1. require_once BASEDIR . DIRECTORY_SEPARATOR . 'views'. DIRECTORY_SEPARATOR .'vcontent.php';

(Добавление)
да, еще посмотрите имена
view - views

(Отредактировано автором: 15 Мая, 2012 - 03:15:23)



-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Lisorub
Отправлено: 15 Мая, 2012 - 14:03:13
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Май 2012  


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




ничего не дает положительный результат

Вот меня еще интересует фрагмент ошибки:

Failed opening required '../controllers/ccontent.php'

это, как я понимаю выдает ошибку файл vcontroller, который не может открыть файл ccontent ? Если так, то vcontroller таки подключился?

Пробовал перекинуть индекс.пхп в папку views и оттуда подключить vcontent - все работает.

Может ли быть проблема в том, что в индексе я прописал путь через определение константы, а во всех других файлах я прописывал абсолютный путь? Или каким образом обьяснить тот фрагмент ошибки, который я описал выше?

DelphinPRO пишет:
да, еще посмотрите имена
view - views

это мои ошибки при написании сообщения. В проэкте все верно. Сейчас исправлю
 
 Top
Данил_123
Отправлено: 15 Мая, 2012 - 14:06:29
Post Id


Участник


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


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




попробуйте выбрать весь путь, и корректировать под него

(Отредактировано автором: 15 Мая, 2012 - 14:12:33)



-----
http://mysitecost.ru
 
 Top
Lisorub
Отправлено: 15 Мая, 2012 - 14:23:37
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Май 2012  


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




Данил_123 пишет:
попробуйте выбрать весь путь, и корректировать под него

в смысле, абсолютный (от корня диска)? прописывал как угодно и полный и относительний... ноль на массу.
 
 Top
Данил_123
Отправлено: 15 Мая, 2012 - 14:38:06
Post Id


Участник


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


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




путь по которому не найден файл.. failed to open stream: No such file or directory in /var/www/localsite1/www/views/vc_ontent.php on line 3


-----
http://mysitecost.ru
 
 Top
Lisorub
Отправлено: 16 Мая, 2012 - 00:23:22
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Май 2012  


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




Данил_123 пишет:
путь по которому не найден файл.. failed to open stream: No such file or directory in /var/www/localsite1/www/views/vc_ontent.php on line 3


Вот не понимаю откуда, пробел взялся, если его нет, вот только если на форум копирую текст ошибки, он появляется.

Вот скрин шот

(Отредактировано автором: 16 Мая, 2012 - 00:23:51)

 
 Top
sKaa
Отправлено: 16 Мая, 2012 - 00:52:52
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


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

[+]


Ну раз пошла такая пьянка, MVC вам тут подавай, чего собственно мешает реализовать простенький autoload?? Или вы простите все ваши "инклуды" и контроллеры и модели собираетесь подключать вне зависимости нужны они вообще на той или иной странице или нет?)

PHP:
скопировать код в буфер обмена
  1. <?
  2. __autoload() // deprecated
  3.  
  4. // spl_* funcrions
  5. spl_autoload_register(function()) // ...
  6.  
  7. ?>
  8.  

Возможно такой подход немного упорядочит весь хлам в ваших головах. Это перекинет всю головную боль о всяких include_once на плечи функции, а лучше целого класса autoload...
(Добавление)
Правда тут нужно будет стараться реализовывать какое-никакое ООП, да и пару правил, например "один класс - один php файл" итд, но страшного в этом мало.

(Отредактировано автором: 16 Мая, 2012 - 00:56:53)

 
 Top
Lisorub
Отправлено: 16 Мая, 2012 - 10:14:46
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Май 2012  


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




sKaa пишет:

Правда тут нужно будет стараться реализовывать какое-никакое ООП, да и пару правил, например "один класс - один php файл" итд, но страшного в этом мало.


И, как я понимаю, нужно просто будет отказатся от путей, а все файлы хранить в одной папке? Ведь, повторюсь, проблема именно с подгрузкой файлов в другой директории (стоящей на уровни ниже) - подгрузка файлов с директории на уровень выше или на одном уровне работает без проблем.

Ведь при реализации автоподгрузки все равно нужно будет использовать путя для подгрузки файлов, а ведь с ними и проблема какая-то...
или я совсем уже ничего не понимаю..
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB