Autor Zpráva
Dranel
Profil
Zdravím,
nejde mi načíst soubor z rootu (kořenového adresáře). Dělám to takhle
<?php 
require ("/include-heads.php");
require ("/include-head.php"); 
?>

a vypíše mi to tohle

Warning: require(/include-heads.php) [function.require]: failed to open stream: No such file or directory in E:\Web\PHP\index.php on line 2
Fatal error: require() [function.require]: Failed opening required '/include-heads.php' (include_path='.;C:\php5\pear') in E:\Web\PHP\index.php on line 2


Běží mi to na Wamp5 a DocumentRoot mám nastaven na E:\Web\PHP
Nevíte, kde je problém?
DoubleThink
Profil *
Načítáš soubor ze systémového rootu E:\
Dranel
Profil
DoubleThink
To je divný... a kde to mám ještě teda přepsat krom DocumentRoot? já se z toho zj*bu :(
Dranel
Profil
DoubleThink
A jak mám prosímtě udělat, aby to načítalo z Rootu, který jsem určil? Na placeným hostingu to taky přeci nebude načítat z nějakýho světovýho serveru ale odtud, odkud určím.
DoubleThink
Profil *
Nastuduj si prosím jazykový konstrukt include.

U filesystemových funkcí je root vždy root disku (ve Windows "X:\", v linuxu "/"). Direktiva DocumentRoot zde nemá žádný vliv.
Takže buď používej relativní cesty, nebo si ulož cestu k (http) rootu do nějaké konstanty pomocí dirname(__FILE__).
Dranel
Profil
DoubleThink
Ok. Díky moc. poslední dotaz: na hostingu se to potom doufám bude brát root jako to, kde mám index, že?

Já se zhrozil, protože před WAMP5 jsem měl PHPTriad a na něm to šlo.
Joker
Profil
Dranel
na hostingu se to potom doufám bude brát root jako to, kde mám index, že?
Může a nemusí.

Jinak já osobně když potřebuju skripty v adresářové struktuře a zároveň vkládat z nějakého společného umístění, definuju si hned na začátku proměnnou třeba $root, která odkazuje do kořenového adresáře. Třeba když mám (web)/neco/necojineho/skript.php, bude tam:
$root = "../../";
a když pak chci vložit třeba (web)/vkladany.php:
require($root."vkladany.php");
Dranel
Profil
DoubleThink, Joker
Takže jsem si z toho celýho vytáhl, to, že na začátek stránky mám vložit...
<?php set_include_path( get_include_path() . PATH_SEPARATOR . $_SERVER['DOCUMENT_ROOT'] ); ?>

...aby byly include (platí to i pro reqire?) brány od rootu. Je to tak?
Dranel
Profil
DoubleThink, Joker
Tak jsem dal na začátek indexu výše uvedený kód a nejde. Píše to

Warning: require(/include-heads.php) [function.require]: failed to open stream: No such file or directory in E:\Web\www.mavejicin.cz\index.php on line 5

Fatal error: require() [function.require]: Failed opening required '/include-heads.php' (include_path='.;C:\php5\pear;E:/Web/www.mavejicin.cz/') in E:\Web\www.mavejicin.cz\index.php on line 5


Já už fakt nvm :(

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: