2016-06-12 2 views
0

Мне хотелось бы знать, какую функцию PHP/ключевое слово я могу использовать, чтобы я всегда мог добраться до корня моей веб-папки. Я использую сервер apache с xampp.php get webfolder address

У меня есть веб-папку под названием 'test1', так что в следующем пути: D: \ XAMPP \ HTDOCS \ test1

В настоящее время я использую $ _SERVRER [ 'DOCUMENT_ROOT'], чтобы получить приведенную выше информацию. Я боюсь, что если я начну загружать его на реальный веб-сервер, сайт может не работать.

Есть ли способ, где я могу получить только test1, так что, когда я создавать ссылки, я не нужно беспокоиться о document_root

ответ

0

Таким образом, вы действительно хотите, чтобы получить базовый URL, который указывает на D:\xampp\htdocs\test1 или любой подкаталог D:\xampp\htdocs\ вы Wa нна называет это.

Теперь я предполагаю, что в каталоге test1 есть файл index.php. Если это так, определите переменную $base_url = dirname($_SERVER['PHP_SELF']);, она вернет полный URL-адрес в ваш файл index.php. Вы также можете добавить слэш к вашему $base_url

// Примечание

Может быть, я неправильно понял ваши требования, я дал вам возможность получить базовый URL, указывающий на файл index.php под каким-либо суб- каталог в D:\xampp\htdocs\. Теперь, говоря о базовой директории, которая отличается, я бы вокруг что-то вроде:

$base_dir = dirname(__FILE__); 

Эта переменная будет определен в самой index.php. Опять же, если вы хотите добавить обратную косую черту/завершающую косую черту (в зависимости от среды сервера). Добавьте это так:

$base_dir .= DIRECTORY_SEPARATOR; 
+0

Спасибо за предложение. yes test1 - это директор, который содержит index.php и другие папки. Я просто проверю. – dk007

+0

Моя веб-папка test1 отображает файл index.php и две папки «Изображения» и «Страницы», когда я вызываю изображение из index.php, тогда я использую images/1.png, но когда мне приходится вызывать одно и то же изображение из страницы в папке «Страницы», то мне нужно использовать /images/1.png моя задача - я могу устранить этот «/». потому что когда я вызываю /images/1.png из индекса.php, он не работает – dk007

+0

Когда вы используете относительные URL-адреса, начинающиеся с '/', скажем, '/ images/1.png', веб-браузеры будут интерпретировать ресурс как расположенный по адресу http://domain.com/images/1 .png', а не на 'http: // domain.com/test1/images/1.png', если только DOCUMENT_ROOT не указывает на' D: \ xampp \ htdocs \ test1' diretory. –

0

$ _SERVRER [ «DOCUMENT_ROOT»] определяет корневой каталог документов, при котором ток скрипт выполняется, как определено в файле конфигурации сервера. Так как вы можете видеть, вы можете иметь это на любом сервере, который поддерживает apache. Вы можете попробовать, загрузив свой сайт на бесплатный хостинг-сайт (например, 000webhost.com). Я надеюсь, что мой ответ был suffecient.thank вы

0

всегда делает один абсолютный путь, который поможет вам предотвратить такого рода проблемы и сделать один, если другое заявление

, когда вы находитесь на вашем использовании LOCALHOST этом и при загрузке файлы на веб-сервер онлайн затем использовать этот

пример

$hostname = $_SERVER['HTTP_HOST']; 
if($hostname == 'localhost') 
{ 
    $csabosultepath = '/final'; 
    $absolutepath="http://".$_SERVER['SERVER_NAME'].$csabosultepath.'/'; 
} 
else { 
    $absolutepath="https://".$_SERVER['SERVER_NAME'].'/'; 
} 
+0

Спасибо за предложение. У меня есть два запроса: 1) Не будет ли это добавить много времени обработки на мои страницы? 2) Я понимаю locatlhost, на что вы ссылаетесь на dell или engr02 здесь – dk007

+0

мое удовольствие :) 1 - nop 2 - на самом деле эти мои локальные имена машин;) я удалил это из кода, теперь проверяю –