include vs file_exists
Az include megtalálja a file-t a file_exists, is_file és társai nem.
Környezet:
PHP 5.0.5-2+sarge0, apache 1.3
apache webroot: /project_root/webroot
File-ok:
/www/inc/base1.php
/www/inc/base2.php
/www/webroot/index.php
/project_root/webroot -> /www/webroot
/project_root/inc -> /www/inc
/project_root/config/config.php
config.php:
<?php
define('FOO', 'bar');
?>
base1.php:
<?php
include $_SERVER['DOCUMENT_ROOT'] . '/../config/config.php';
echo FOO;
?>
base1.php:
<?php
if ( !file_exists($_SERVER['DOCUMENT_ROOT'] . '/../config/config.php') ) {
die( 'error' );
}
include $_SERVER['DOCUMENT_ROOT'] . '/../config/config.php';
?>
index.php:
<?php
include $_SERVER['DOCUMENT_ROOT'] . '../inc/base1.php';
include $_SERVER['DOCUMENT_ROOT'] . '../inc/base2.php';
?>
output:
barerror
Vagyis a config.php-t az include megtalálja, de a file_exists ( talán a linkelés miatt ) elveszíti a fonalat.
Célom az lenne, hogy ellenőrizhető legyen, hogy a config.php a helyén van-e.
Tudtok rá valamilyen használható megoldást?
Köszi,
Balázs
■ Környezet:
PHP 5.0.5-2+sarge0, apache 1.3
apache webroot: /project_root/webroot
File-ok:
/www/inc/base1.php
/www/inc/base2.php
/www/webroot/index.php
/project_root/webroot -> /www/webroot
/project_root/inc -> /www/inc
/project_root/config/config.php
config.php:
<?php
define('FOO', 'bar');
?>
base1.php:
<?php
include $_SERVER['DOCUMENT_ROOT'] . '/../config/config.php';
echo FOO;
?>
base1.php:
<?php
if ( !file_exists($_SERVER['DOCUMENT_ROOT'] . '/../config/config.php') ) {
die( 'error' );
}
include $_SERVER['DOCUMENT_ROOT'] . '/../config/config.php';
?>
index.php:
<?php
include $_SERVER['DOCUMENT_ROOT'] . '../inc/base1.php';
include $_SERVER['DOCUMENT_ROOT'] . '../inc/base2.php';
?>
output:
barerror
Vagyis a config.php-t az include megtalálja, de a file_exists ( talán a linkelés miatt ) elveszíti a fonalat.
Célom az lenne, hogy ellenőrizhető legyen, hogy a config.php a helyén van-e.
Tudtok rá valamilyen használható megoldást?
Köszi,
Balázs
Include vs file_exists
Gyulus
a rendszer bonyibb
Én csak azt nem értem, hogy mitől függ a php-ban, hogy a linkből hova lép vissza, illetve, hogy ez állítható-e.
Köszi az ötletet! Még nézelődöm a neten.
Kiegészítés: getcwd
Kis kiegészítés: getcwd()
Ez nagyobb (persze, relatív...) terhelés mellett még enyhe teljesítménynövekedést is hoz az include-oknál.