2016-08-16 7 views
2

У меня есть странная проблема с командой require(), она вообще не работает и дает мне странную ошибку .. да, я на 100% уверен, что поставлю правильный путь я попытался использовать как относительные, так и полные пути, а также использовать include(), include_once(), require(), require_once(), но безрезультатно .. Я протестировал существование файла, и он существует .. для меня это не имеет смысла! Я не видел, чтобы кто-то еще имел такую ​​же проблему, как на форуме, я также пытался использовать глобальные переменные, такие как $_SERVER["DOCUMENT_ROOT"] и другие пути, но это все еще не работает для меня.php require() не работает с относительным или полным

Процедура: кнопка HTML -> Ajax звонки "addcomments.php" -> страница требует "ajax.php" -> ошибка

addcomments.php страница:

//set path 
$path = "g:/appserv/www/y4project/scripts/php/funcs/"; 

//check directory 
print_r(scandir($path)); 

//check if php file exists 
if(file_exists($path."ajax.php")) 
    echo "######### IT EXISTS!!! ##########"; 
else echo "@@@@@@ NO! @@@@@@@@"; 

//require it 
require($path."ajax.php"); 

Ошибка :

Array ( 
    [0] => . 
    [1] => .. 
    [2] => account.php 
    [3] => ajax.php 
    [4] => main.php 
    [5] => service.php) 

######### IT EXISTS!!! ########## 

Warning: require(1) [function.require]: failed to open stream: No such file or directory in G:\AppServ\www\y4project\scripts\AJAX\addcomments.php on line 10 

Fatal error: require() [function.require]: Failed opening required '1' (include_path='.;C:\php5\pear') in G:\AppServ\www\y4project\scripts\AJAX\addcomments.php on line 10 

Я также попытался относительные пути, как "../php/funcs/ajax.php", та же проблема .. scandir() и file_exists() как найти его, но require() не удается!

Ваша помощь больше всего ценится!

EDIT

Я просто проверял это, чтобы быть уверенным, требуется его из другой тестовой страницы и использовать функцию, и она работала, но до сих пор не работает на странице «addcomments.php», который получает наречено AJAX.

Другой EDIT

Я также проверил документацию по PHP require_once() и require(), я до сих пор не могу видеть эту проблему!

Может быть, это ошибка пути или мера безопасности, где AJAX называемые скрипты не могут вызывать другие скрипты, что так всегда? но это не имеет никакого смысла?
Я ничего не читал об этом в документации.
Я даже пытался использовать HTML-страницы и все еще не работал.

Я потерял ..

+0

Пытались ли вы на \ (вместо /) и правильных верхних/нижних случаях? Например, измените 'appserv' на' AppServ', как он указан на вашем компьютере. Итак, чтобы иметь что-то вроде этого: 'require (" G: \ AppServ \ www \ y4project \ scripts \ php \ funcs \ ajax.php ");' –

+0

file_exists() не особенно полезен. Вместо этого попробуйте 'is_readable()'. file_exists скажут вам, что в заблокированном банковском хранилище есть «бесплатная, взять одну» корзину, но это не значит, что вы действительно можете заняться этой бесплатной вещью. –

+0

@ DanielDudas Я сделал, ничего .. – bakz

ответ

0

Вы можете попробовать использовать этот путь:

require dirname(__DIR__) . "/php/funcs/ajax.php"; 
+0

nope, не работал .. тоже пытался «./../» тоже не работал ... Я мог бы поспорить, что вызов AJAX вызывает что-то, я до сих пор не могу понять, что это такое. – bakz

+0

Затем попробуйте открыть addcomments.php прямо в браузере без AJAX, чтобы проверить эту гипотезу. – YetiCGN

+0

Можете ли вы поделиться результатом 'var_dump (__ DIR __);' из обоих файлов? –

 Смежные вопросы

  • Нет связанных вопросов^_^