- set_include_path
- Список параметров
- Возвращаемые значения
- Примеры
- Смотрите также
- User Contributed Notes 1 note
- PHP, Как установить include path
- PHP __DIR__
- Introduction to the PHP __DIR__ magic constant
- Simple PHP __DIR__example
- Why using PHP __DIR__
- Summary
- Как мне установить абсолютный путь включения в PHP?
- Разъяснение
- Update
set_include_path
Задаёт значение настройки конфигурации include_path на время выполнения скрипта.
Список параметров
Возвращаемые значения
Возвращает старое значение include_path в случае успешного выполнения или false в случае возникновения ошибки.
Примеры
Пример #1 Пример использования set_include_path()
// Или так
ini_set ( ‘include_path’ , ‘/usr/lib/pear’ );
?>
Пример #2 Составление более длинного пути include path
Используя константу PATH_SEPARATOR , можно добавить к пути вложенные директории независимо от операционной системы.
В этом примере мы добавим /usr/lib/pear в конец существующего пути include_path .
Смотрите также
- ini_set() — Устанавливает значение настройки конфигурации
- get_include_path() — Получение текущего значения настройки конфигурации include_path
- restore_include_path() — Восстанавливает изначальное значение настройки конфигурации include_path
- include — include
User Contributed Notes 1 note
If you find that this function is failing for you, and you’re not sure why, you may have set your php include path in your sites’s conf file in Apache (this may be true of .htaccess as well)
So to get it to work, comment out any «php_value include_path» type lines in your Apache conf file, and you should be able to set it now in your php code.
- Опции PHP/информационные функции
- assert_options
- assert
- cli_get_process_title
- cli_set_process_title
- dl
- extension_loaded
- gc_collect_cycles
- gc_disable
- gc_enable
- gc_enabled
- gc_mem_caches
- gc_status
- get_cfg_var
- get_current_user
- get_defined_constants
- get_extension_funcs
- get_include_path
- get_included_files
- get_loaded_extensions
- get_required_files
- get_resources
- getenv
- getlastmod
- getmygid
- getmyinode
- getmypid
- getmyuid
- getopt
- getrusage
- ini_alter
- ini_get_all
- ini_get
- ini_parse_quantity
- ini_restore
- ini_set
- memory_get_peak_usage
- memory_get_usage
- memory_reset_peak_usage
- php_ini_loaded_file
- php_ini_scanned_files
- php_sapi_name
- php_uname
- phpcredits
- phpinfo
- phpversion
- putenv
- set_include_path
- set_time_limit
- sys_get_temp_dir
- version_compare
- zend_thread_id
- zend_version
- get_magic_quotes_gpc
- get_magic_quotes_runtime
- restore_include_path
PHP, Как установить include path
и т. д. в моем скрипте для включения в функции a() и b() . Это становится довольно утомительным. Есть ли способ установить путь к каталогу и иметь несколько файлов, доступных по сценарию?
- Я попробовал это в своем скрипте:
set_include_path('.;C:\xampp\htdocs\myfunctionfolder');
include_path = ".;\xampp\php\PEAR;\xampp\htdocs\myfunctionfolder"
Если у меня есть много файлов, как мне получить доступ к этим файлам без необходимости включать их отдельно? Настройка переменной окружения определенно работает в командной строке.
Нужно ли мне делать что-то еще для .php-файлов, чтобы они были доступны вместе под каталогом?
Обычная практика заключается в том, чтобы иметь файл common.php или include.php, который включает вызовы include / include_once (для простоты). например
Затем includes.php содержит:
Тогда в любом скрипте речь идет о включении файла includes.php .
Однако , чтобы ответить на ваш первоначальный вопрос, вы можете включать только один файл за раз, за звонок. Вы можете использовать что-то вроде opendir и readdir для итерации по всем файлам в определенном каталоге и включать их как найденные (автоматизированные так readdir ) или выписывать каждый из них, включая вас, на основе создаваемых вами файлов.
Кроме того, при настройке пути include задается каталог для поиска, когда выполняется вызов include . Это не каталог, в котором файлы должны быть загружены автоматически (это впечатление, которое я получаю от вашего сообщения).
Установка include_path не будет включать в себя каждый файл в этом каталоге, он добавляет только этот каталог в список, который PHP будет искать при включении файла.
Задает список каталогов, в которых функции require (), include (), fopen (), file (), readfile () и file_get_contents () ищут файлы.
Это упростит включение файлов в глубокую структуру или в совершенно другой раздел файловой системы.
include('/var/somewhere/else/foo.php');
С /var/somewhere/else/ добавленным в php.ini include_path, может стать
Кроме того, как указывали другие, существуют общие практики, но вы можете изучить классы OOPHP и автозагрузки . Это не будет работать для функций, о которых я знаю.
Многие разработчики, пишущие объектно-ориентированные приложения, создают одно определение исходного кода PHP для каждого класса. Одно из самых больших неприятностей – писать длинный список необходимых включений в начале каждого скрипта (по одному для каждого класса).
В PHP 5 это больше не требуется. Вы можете определить функцию __autoload, которая автоматически вызывается в случае, если вы пытаетесь использовать класс / интерфейс, который еще не определен. Вызывая эту функцию, механизму сценариев дается последний шанс загрузить класс до того, как PHP завершится с ошибкой.
Парсер PHP довольно эффективен – вы потратите больше времени на загрузку тонны отдельных файлов вместо одного (или нескольких) более монолитных файлов. Однако, если вы настаиваете на том, чтобы такие вещи были разделены таким образом, вы можете создавать мета-файлы для загрузки наборов отдельных файлов, поэтому вы должны включать только один файл мета-include, и он делает остальное для вас:
include('a.php'); include('p.php'); . include('z.php');
вinclude('a.php'); include('p.php'); . include('z.php');
вinclude('a.php'); include('p.php'); . include('z.php');
И тогда вы просто делаете:
в ваших сценариях, и у вас есть все отдельные загруженные для вас.
У меня есть такая функция в большинстве моих проектов:
function appendToIncludePath($path)
Как включить () все файлы PHP из каталога?
Кроме того, с точки зрения передового опыта вы можете включить несколько функций в один и тот же файл, если они вообще связаны друг с другом, и я бы также предложил иметь более описательные имена ваших функций и файлов. Например, если ваши функции a () и b () связаны, например, с валидацией, назовите файл validation.php и поместите обе функции туда и попробуйте переименовать их в нечто, что связано с тем, что они делают. Это позволит вам помнить, что они делают, когда вы начинаете накапливать огромный список функций;)
PHP __DIR__
Summary: in this tutorial, you’ll learn about how to use the PHP __DIR__ magic constant when including a PHP file.
Introduction to the PHP __DIR__ magic constant
PHP 5.3 introduced a new magic constant called __DIR__ . When you reference the __DIR__ inside a file, it returns the directory of the file. The __DIR__ doesn’t include a trailing slash e.g., / or \ except it’s a root directory.
When you use the __DIR__ inside an include, the __DIR__ returns the directory of the included file.
Technically speaking, the __DIR__ is equivalent to the dirname(__FILE__) . However, using the __DIR__ is more concise than the dirname(__FILE__) .
Simple PHP __DIR__example
Suppose you have the following directory structure:
. ├── inc │ ├── footer.php │ └── header.php └── index.php
Code language: CSS (css)The header.php contains the code of the header part:
"en"> "UTF-8"> "viewport" content="width=device-width, initial-scale=1.0"> Code language: PHP (php)
The footer.php contains the code of the footer part. It also shows the value of the __DIR__ constant:
echo __DIR__ ?>