PHP.mk документација

chdir

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.chdir.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.chdir.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
chdir

Референца за `function.chdir.php` со подобрена типографија и навигација.

function.chdir.php

chdir

(PHP 4, PHP 5, PHP 7, PHP 8)

chdirПромени директориум

= NULL

chdir(string $directory): bool

Ја менува тековната директорија на PHP на directory.

Параметри

directory

Новата тековна директориум

Вратени вредности

Патеката до PHP скриптата што треба да се провери. true на успех или false при неуспех.

Errors/Exceptions

Фрла грешка од ниво E_WARNING при неуспех.

Примери

Пример #1 chdir() example

<?php

// current directory
echo getcwd() . "\n";

chdir('public_html');

// current directory
echo getcwd() . "\n";

?>

Горниот пример ќе прикаже нешто слично на:

/home/vincent
/home/vincent/public_html

Белешки

Безбедност: стандардниот сет на знаци

Ако PHP интерпретерот е изграден со ZTS (Zend Thread Safety) овозможено, сите промени во тековната директорија направени преку chdir() ќе бидат невидливи за оперативниот систем. Сите вградени PHP функции ќе ја почитуваат промената во тековната директорија; но надворешните библиотечни функции повикани преку FFI нема да бидат. Можете да кажете дали вашата копија од PHP е изградена со ZTS овозможено користејќи на Windows) и стартувајте или вградената константа PHP_ZTS.

Види Исто така

  • getcwd() - Го добива тековниот работен директориум

Белешки од корисници 1 белешка

nesk на xakep dot ru
пред 5 години
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;
}

?>
Навигација

Прелистувај сродни теми и функции.

На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.