Как я форматирую PHP, включают () абсолютный (а не родственник) путь?

Я знаю, что это старый вопрос, но кто-то должен был упомянуть макросы времени компиляции в Availability.h. Все остальные методы здесь - это временные решения и не будут работать в файле заголовка, классе или определении ivar.

Для этих ситуаций используйте

#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_6_0
  // iOS 6+ code here
#else
  // Pre iOS 6 code here
#endif

h / t этот ответ

22
задан Zack Peterson 5 December 2008 в 19:18
поделиться

7 ответов

Если Вы даете, включают () или требуют () (или * _once версии) абсолютный путь, тот файл будет включен. Абсолютный путь запускается с "/" на Unix, и с буквой диска и двоеточием в Windows.

при предоставлении относительного пути (какой-либо другой путь) PHP будет искать, каталоги в конфигурации оценивают "include_path" в порядке, пока соответствие не найдено или больше нет каталогов для поиска.

Так, короче говоря, для включения абсолютного имени файла, дают абсолютное имя файла. См. также функцию realpath () .

, Если Вы хотите установить свое собственное, включают "корень", взглянули на этот вопрос (конкретно мой ответ, конечно:-)

5
ответ дан Community 29 November 2019 в 04:06
поделиться

С точки зрения PHP корень является вершиной файловой системы на веб-сервере, не корнем с точки зрения веб-браузера.

Большинство людей делает один из ниже.

Определяют константу, в глобальном конфигурационном файле и использовании это в каждом вызове для требования/включения.

Или они используют код как это.

require_once realpath(dirname(__FILE__).'/config.php');
require_once realpath(dirname(__FILE__).'/lib/Database.php');

Используя переменные окружения может быть опасным в некоторых случаях и быть источник проблем безопасности.

9
ответ дан Zoredache 29 November 2019 в 04:06
поделиться

Как @Stefan Mai говорит, PHP не имеет "корневого" пути, но можно определить тот довольно легко - большинство сайтов имеет страницу, которую это включало каждый раз, когда (например, конфигурационный файл), к которому можно добавить:

define('ROOT', dirname(__FILE__));

Тогда использование включают КОРЕНЬ. '/includes/analytics.php';

Что-то, это также довольно полезно, является auto_prepend директивой, которую можно использовать в .htaccess на апаче - не уверенный в установке его на IIS (хотя у Вас может быть глобальный в PHP ini).

8
ответ дан Greg 29 November 2019 в 04:06
поделиться

Использовать.. повыситься каталог. Таким образом в pageone.php

include 'includes/analytics.php';

в pagetwo.php

include '../includes/analytics.php';

нет никакого понятия "корня", поскольку Вы обращаетесь к в PHP, насколько я знаю, хотя Вы могли определить его, если бы Вы хотели. Всего наилучшего

1
ответ дан Stefan Mai 29 November 2019 в 04:06
поделиться

Это работает.

<?php include('c:/inetpub/example.com/includes/analytics.php'); ?>

я должен буду сделать c:/inetpub/example.com/, разделяют некоторую глобальную переменную, таким образом, это несколько портативно с сервера на сервер.

1
ответ дан Zack Peterson 29 November 2019 в 04:06
поделиться

Тильда интерпретируется, поскольку специальный символ оболочкой, таким образом с помощью нее в коде PHP не будет работать независимо от ОС.

, При попытке получить доступ к чему-то относительно пользовательского корневого каталога, что Вы могли бы попробовать getenv() - я - вполне уверенные наборы Windows переменная среды, эквивалентная $HOME.

0
ответ дан 29 November 2019 в 04:06
поделиться

Можно просто использовать include $_SERVER['DOCUMENT_ROOT'] . "/includes/analytics.php";

25
ответ дан 29 November 2019 в 04:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: