php: настройка корневого каталога для проекта? - PullRequest
1 голос
/ 10 мая 2011

У меня есть следующий URL для моего тестового проекта на локальном сервере:

http://localhost/projects/test/

Теперь я хотел бы иметь возможность использовать его в качестве корневого каталога, например.включает в себя / images - как <img src='/img/test.jpg'> - таким образом, это сэкономило бы мне много времени, поскольку я мог бы просто поместить его в сеть без каких-либо изменений пути / флага.

есть идеи, как это могло бы работать?

спасибо

Ответы [ 4 ]

4 голосов
/ 11 мая 2011

Полагаю, это не вопрос, связанный с PHP, а больше по HTML. Вы можете посмотреть на тег <base>. Поэтому вместо того, чтобы сказать:

<img src='/img/test.jpg'>

иди и сделай:

<head><base href="http://localhost/projects/test/" /> ... </head>
<body>
<img src="img/test.jpg" />
</body>

Что на самом деле будет указывать на: http://localhost/projects/test/img/test.jpg

и для сценариев PHP используйте функцию set_include_path ()

<?php
  $path = '/usr/lib/pear';
  set_include_path(get_include_path() . PATH_SEPARATOR . $path);
?>
1 голос
/ 11 мая 2011

Я не уверен, что вы спрашиваете, но любые ссылки на изображения, которые не начинаются с косой черты / будут локальными для пути документа.документ http://localhost/projects/test/test.html

тег <img src='img/test.jpg'> will point tohttp://localhost/projects/test/img/test.jpg`

0 голосов
/ 11 мая 2011

Если вы включаете что-то, вы можете попробовать использовать set_include_path и include_path http://www.php.net/manual/en/ini.core.php#ini.include-path

0 голосов
/ 11 мая 2011

Если вы используете относительные пути и предполагаете, что /img/ является подкаталогом /test/, никаких изменений не требуется.

Если вы хотите использовать абсолютные пути, вы можете где-то определить константу (возможно config.php) с корнем сайта, а затем ссылаться на такие вещи:

<?php echo "<img src = '" . $root . "/img/test.jpg'>"; ?>

...