Это происходит потому, что вы запускаете сценарий автономно с ajax, а структура папок относительно test.php.

я проблема с разделом php include. Чтобы полностью объяснить проблему, я создал для вас тестовую страницу.

Сначала я хочу показать вам схему файлов. Также вы можете скачать тестовые файлы с этогоССЫЛКА и вы можете проверить это онлайнТЕСТ ЛИНК

Как видите, в папке есть подпапкаhtdocs (корневой) файл и все файлы php там. Теперь я покажу вам код php в файле, соответственно.

имя_приложения / index.php

<?php include_once 'includes/config.php';?>
<div class="callPage">Click Here</div>
<div id="testBox"></div>

<script type="text/javascript">
  $(document).ready(function(){
      var siteurl = '<?php echo $url;?>';
      $("body").on("click",".callPage", function(){
       $.ajax({
            url: siteurl+'content/test',
            beforeSend: function() {
                //Do something
            },
            complete:function(){
              //Do something 
            },
            success:function(response){
                $("#testBox").html(response);
            }
            });
    });
     function LoadPage(){
       $.get(siteurl+'content/test', function(data) {
          $('#testBox').html(data);
       });
    }
    LoadPage(); 
  });
</script>  

имя_приложения / содержание / test.php

<?php 
include_once 'includes/config.php';
echo $text.'</br>';
echo $worked.'</br>';
?>

имя_приложения / включает / config.php

<?php 
$url = 'http://localhost:8888/';
$text = 'Well Come! How are you today ?';
$worked = 'It is working :)';
?>

Когда вы открываетеТЕСТ ЛИНК, LoadPage(); функция JavaScript будет вызыватьtest.php в файле содержимого и отобразить его в#testBox, Сначала вы ничего не увидите в#testBox изindex.php , Потому чтоconfig.php не может быть включен изtest.php .

Я знаю, если я изменю эту строкуinclude_once 'includes/config.php'; изtest.php нравитсяinclude_once '/appname/includes/config.php'; тогда проблема будет решена.

Но если страницы размножаются, и я хочу использовать файлы в корневой папке (htdocs или www), мне нужно удалить имя приложения (имя подпапки) =>include_once 'appname/includes/config.php'; из всех файлов. Это будет большой проблемой, когда эти файлы размножатся.

На самом деле вопрос точно:

Как мы можем включить файлы php без указания полного пути к включению, когда путь приложения относительноDOCUMENT_ROOT является переменной или неизвестной иinclude_path не может быть надежно изменен всеми пользователями приложения?

Ответы на вопрос(4)

Ваш ответ на вопрос