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 (владельца), как и выполняемый скрипт.
Коментарии
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', $directory, 1)
;
break;
case 'Darwin':
\FFI::cdef('int setenv(const char *name, const char *value, int overwrite);')
->setenv('DYLD_LIBRARY_PATH', $directory, 1)
;
break;
}
?>