У меня тоже была эта проблема. Ответ Пола Диксона правильный, но, возможно, это поможет вам понять, почему:
Проблема в том, что PHP является языком на стороне сервера. В тех случаях, когда чистые HTML-документы могут обращаться к файлам на основе корневого URL-адреса, установленного на сервере (т. Е. Для доступа к изображению из любого подкаталога, в котором вы находитесь, вы бы использовали /images/example.jpg
для перехода из верхнего каталога вниз), PHP фактически получает доступ к корню сервера при использовании include (/images/example.jpg)
Созданная вами структура сайта фактически находится в файловой системе на сервере Apache. Корень моего сайта выглядит примерно так, начиная с корня сервера и заканчивая:
/home2/siteuserftp/public_html/test/
"test" представляет корень вашего сайта
Таким образом, чтобы ответить на ваш вопрос, почему ваш PHP не получает желаемого результата (он работает точно так, как должен), потому что вы запрашиваете код PHP, чтобы попытаться найти ваш файл в корне сервера, когда на самом деле он находится в корне HTML вашего сайта, который будет выглядеть примерно так, как указано выше.
Ваш файл будет основан на корне сайта "test /" и будет выглядеть примерно так:
/ home2 / siteuserftp / public_html / тест / об / index.php
Ответ Пола Диксона дал:
include($_SERVER['DOCUMENT_ROOT'].'/example/example.php')
- это именно то, что решит вашу проблему (не беспокойтесь о попытке найти корень документа для замены 'DOCUMENT_ROOT', PHP сделает это за вас. Просто убедитесь, что у вас есть 'DOCUMENT_ROOT' буквально там)
EDIT:
Дополнительная информация DOCUMENT_ROOT и другие переменные PHP SERVER можно найти здесь