chdir

(PHP 4, PHP 5, PHP 7)

chdirИзменяет каталог

Описание

bool chdir ( string $directory )

Изменяет текущий каталог PHP на указанный в качестве параметра directory.

Список параметров

directory

Новый текущий каталог

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

В случае ошибки создает исключение уровня E_WARNING.

Примеры

Пример #1 Пример использования chdir()

<?php

// текущий каталог
echo getcwd() . "\n";

chdir('public_html');

// текущий каталог
echo getcwd() . "\n";

?>

Результатом выполнения данного примера будет что-то подобное:

/home/vincent
/home/vincent/public_html

Примечания

Замечание: Когда опция safe mode включена, PHP проверяет, имеет ли каталог, с которым вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.

Смотрите также

  • getcwd() - Получает имя текущего рабочего каталога

Коментарии

When using PHP safe mode and trying to change to a dir that is not accessible due to the safe mode restrictions, the function simply fails without generating any kind of error message.

(Tested in PHP 4.3.10-16, Debian Sarge default)
2006-08-17 14:58:12
http://php5.kiev.ua/manual/ru/function.chdir.html
When changing dir's under windows environments:

<?php
$path
="c:\temp"';
chdir($path);
/* getcwd() gives you back "c:\temp" */

$path="c:\temp\"'
;
chdir($path);
/* getcwd() gives you back "c:\temp\" */
?>

to work around this inconsistency
doing a chdir('.') after the chdir always gives back "c:\temp"
2009-01-31 16:16:06
http://php5.kiev.ua/manual/ru/function.chdir.html
When working with FFI under a PHP ZTS environment, there is no standard way to change the directory with libraries (dll/so/dylib/etc), so to get around this problem, you should use something like this polyfill:

<?php

$directory 
'path/to/libraries';

switch (
\PHP_OS_FAMILY) {
    case 
'Windows':
       
\FFI::cdef('extern unsigned char SetDllDirectoryA(const char* lpPathName);''kernel32.dll')
            ->
SetDllDirectoryA($directory)
        ;
        break;

    case 
'Linux':
    case 
'BSD':
       
\FFI::cdef('int setenv(const char *name, const char *value, int overwrite);')
            ->
setenv('LD_LIBRARY_PATH'$directory1)
        ;
        break;

    case 
'Darwin':
       
\FFI::cdef('int setenv(const char *name, const char *value, int overwrite);')
            ->
setenv('DYLD_LIBRARY_PATH'$directory1)
        ;
        break;
}

?>
2020-10-24 15:43:13
http://php5.kiev.ua/manual/ru/function.chdir.html

    Поддержать сайт на родительском проекте КГБ