Delicious Bookmark this on Delicious Share on Facebook SlashdotSlashdot It! Digg! Digg



PHP : Function Reference : PHP Options&Information : set_include_path

set_include_path

Sets the include_path configuration option (PHP 4 >= 4.3.0, PHP 5)
string set_include_path ( string new_include_path )

Example 1859. set_include_path() example

<?php
// Works as of PHP 4.3.0
set_include_path('/inc');

// Works in all PHP versions
ini_set('include_path', '/inc');
?>

Example 1860. Adding to the include path

Making use of the PATH_SEPARATOR constant, it is possible to extend the include path regardless of the operating system.

In this example we add /usr/lib/pear to the end of the existing include_path.

<?php
$path
= '/usr/lib/pear';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);
?>

Related Examples ( Source code ) » set_include_path


Code Examples / Notes » set_include_path

koenig

You can also add several paths in one set_include_path separating them by ':'.
ex : set_include_path('/home/mysite/includes1:/home/mysite/includes2')


junya

When you use .htaccess to set the include path, don't forget Apache directive 'AllowOverride Options' or 'AllowOverride All' is also needed.

marc dot jaeger

Not shure if it is possible to use wildchars when setting include_path in php.ini [for example include_path=.:/usr/lib/php:/home/*/includes ].

huuanito

Just a note on koenig at electronova dot net's post:
to be OS independent you'd use  '.PATH_SEPARATOR.'
in place of :


df a t dougfelton d o t c o m

In order to use .htaccess files to set the include path, PHP must be installed as an Apache module. If PHP is compiled as a CGI binary, you can set the include path in a custom php.ini file (if, for example, you're being hosted somewhere and don't have access to the main php.ini file.  Note that custom php.ini files don't affect subdirectories in the way that .htaccess files do, so you'll need to put your custom php.ini file in any subdirectories as well.

r dot s dot goldsmith

If you want to set the paths php uses to find included files on a directory by directory level, you can do so in Apache's .htaccess file. Add the line:
php_value include_path  "<first path to look>:<second path>:<etc>:."
to the .htaccess file. This will replace any paths set in your environment or the php.ini file so remember to include the path to php's own libraries as, usually, the first option!
V.useful tip given to me by the 'php guy' at Edinburgh Uni's Computing Support.


chris-r3i

Can be useful to check the value of the constant PATH_SEPARATOR.
if ( ! defined( "PATH_SEPARATOR" ) ) {
 if ( strpos( $_ENV[ "OS" ], "Win" ) !== false )
   define( "PATH_SEPARATOR", ";" );
 else define( "PATH_SEPARATOR", ":" );
}
For older versions of php, PATH_SEPARATOR is not defined.
If it is so, we must check what kind of OS is on the web-server and define PATH_SEPARATOR properly


Change Language


Follow Navioo On Twitter
assert_options
assert
dl
extension_loaded
get_cfg_var
get_current_user
get_defined_constants
get_extension_funcs
get_include_path
get_included_files
get_loaded_extensions
get_magic_quotes_gpc
get_magic_quotes_runtime
get_required_files
getenv
getlastmod
getmygid
getmyinode
getmypid
getmyuid
getopt
getrusage
ini_alter
ini_get_all
ini_get
ini_restore
ini_set
main
memory_get_peak_usage
memory_get_usage
php_ini_scanned_files
php_logo_guid
php_sapi_name
php_uname
phpcredits
phpinfo
phpversion
putenv
restore_include_path
set_include_path
set_magic_quotes_runtime
set_time_limit
sys_get_temp_dir
version_compare
zend_logo_guid
zend_thread_id
zend_version
eXTReMe Tracker