Error require_once w modelu MVC

0

Witam,

Postanowiłem nauczyć się pisać strony w modelu mvc, lecz podczas nauki napotkałem na problem, a mianowicie pojawił się on po przeniesieniu plików na serwer, ponieważ na lokalnym komputerze wszystko ładnie działa. Problem pojawia się w momencie próby dołączenia plików widoku za pomocą require_once, domyślam się, że problem znajduje się w ścieżce wskazującej plik do załączenia, lecz pierw przedstawię moją strukturę:
Pliki znajdują się w głównym folderze public_html:
title
Folder /View
title
Folder /View/Index
title
Oraz pliki /Libs
title

Cały adres przekierowywany jest do zmiennej $url z którego filtruje sobie kontroler i model i na podstawie tych danych załączam odpowiednie pliki.

Plik .htaccess:

RewriteEngine on

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.+)?$ index.php?url=$1 [QSA,L]

Oraz plik /libs/router.php odpowiadający za filtrowanie i dołączanie odpowiednich plików:

class Router
{
	function __construct() 
	{
		$this -> request = $_GET['url'];
		$this -> request = rtrim($this -> request, "/");
		$this -> params = explode("/", $this -> request);
		
		$this -> controller = $this -> params[0];
		if($this -> controller == "index.php" OR empty($this -> controller)) $this -> controller = "Index";
		$this -> controller = ucfirst($this -> controller);
		
		$file = 'controllers/'.$this -> controller.'.php';
		if(file_exists($file))
		{
			require_once $file;
			$this -> control = new $this -> controller($this -> params);
		}
		else
		{
			header("Location: /");
		}
	}
}

Plik /libs/view.php


class View
{
	function __construct(){}
	
	function Render()
	{
		require_once $_SERVER['DOCUMENT_ROOT'].'/view/header.php';
		require_once $_SERVER['DOCUMENT_ROOT'].'/view/'.$this -> controller.'/'.$this -> page.'.php';
	}
}

I tutaj pojawia się problem, ponieważ plik /view/header.php dołączany jest bez problemu oraz wszystkie pliki znajdujące się w tym folderze, natomiast jeśli chcę dodać coś z katalogu poziom niżej np, /view/index/home.php wyskakuje błąd:

Warning: require_once(/home/user_name/domains/domain_name.pl/public_html/view/Index/Home.php) [function.require-once]: failed to open stream: No such file or directory in /home/user_name/domains/domain_name/public_html/libs/View.php on line 10

Fatal error: require_once() [function.require]: Failed opening required '/home/user_name/domains/domain_name.pl/public_html/view/Index/Home.php' (include_path='.:/usr/local/php53/lib/php/') in /home/user_name/domains/domain_name.pl/public_html/libs/View.php on line 10

Czy mogę liczyć na waszą pomoc i wskazanie możliwego rozwiązania, bądź w którym miejscu znajduje się błąd i jak można go naprawić.

Pozdrawiam ;)

2

Zwracaj uwagę na wielkości znaków - ma to znaczenie na Linuxie.

0

Dzięki wielkie kolego, masz u mnie dobre zimne piwko. Niby taki szczegół ale bardzo ważny. Jeszcze raz dzięki.
Jeszcze jedno pytanko, jak można zabezpieczyć się przed wpisanie adresu np: www.domena.pl/view/ Aby nie wyskakiwał błąd 403?

1 użytkowników online, w tym zalogowanych: 0, gości: 1