Autor | Zpráva | ||
---|---|---|---|
frauen Profil * |
#1 · Zasláno: 19. 7. 2010, 13:31:44
Zdravím, narazil jsem na problém s require souboru. Používám localhost (WampServer) v základním nastavení.
Mám složku s webem na adrese http://127.0.0.1/web/, kde v indexu mám následující kód: <?php // Core require('core/core.php'); ?> V souboru na adrese: http://127.0.0.1/web/core/core.php mám pak: <?php // Configuration file if(file_exists('../config/config.php')) { require('../config/config.php'); } else { exit('404: Configuration file not found.'); } ?> V souboru na adrese: http://127.0.0.1/web/config/config.php existuje. Bohužel mi stále vypisuje '404: Configuration file not found.'. Když jsem po té ve složce pro administraci - http://127.0.0.1/web/admin/ tak v indexu mám: <?php // Core require('../core/core.php'); ?> Ve složce pro administraci však vše funguje. V čem dělám chybu? Díky. |
||
nightfish Profil |
#2 · Zasláno: 19. 7. 2010, 13:38:25
frauen:
> if(file_exists('../config/config.php')) { if (file_exists(dirname(__FILE__).'/../config/config.php')) ... |
||
AM_ Profil |
#3 · Zasláno: 19. 7. 2010, 13:45:35
frauen:
„Mám složku s webem na adrese ht>tp://127.0.0.1/web/“ při použití require s relativní cestou se hledá lokálně v souborovém systému, nikoli přes http! takže vůbec není důležité, jak zvenku vypadá adresářová struktura, důležité je, kde jsou soubory uloženy na serveru, ale to zde problém nebude. Jak píše nightfish, pokud adresuješ relativně od aktuálního souboru, prefixuj dirname(__FILE__). Když totiž z rootu (/) vložíš soubor z podadresáře (/core), pracovní adresář je stále root (/), takže ../config jde ještě výš, což je špatně. |
||
Majkl578 Profil |
#4 · Zasláno: 20. 7. 2010, 03:06:36
V PHP 5.3+ používej
__DIR__ místo dirname(__FILE__) .
|
||
Časová prodleva: 14 let
|
0