Eio eio_open

(PECL eio >= 0.0.1dev)

eio_open — 파일을 엽니다


설명

eio_open(
    string $path,
    int $flags,
    int $mode,
    int $pri,
    callable $callback,
    mixed $data = NULL
): resource
                

eio_open()은 다음을 사용하여 액세스 모드 mode>에서 path로 지정된 파일을 엽니다.


매개변수

path
열려는 파일의 경로입니다.

경고 일부 SAPI(예: PHP-FPM)에서는 전체 경로를 지정하지 않으면 실패할 수 있습니다.

flags
EIO_O_* 상수 또는 그 조합 중 하나입니다. EIO_O_* 상수는 fnctl.h C 헤더 파일에 정의된 해당 O_* 상수와 동일한 의미를 갖습니다. 기본값은 EIO_O_RDWR입니다.
mode
EIO_S_I* 상수 중 하나 또는 그 조합(비트 OR 연산자를 통해). 상수는 » sys/stat.h C 헤더 파일에 정의된 S_I*와 동일한 의미를 갖습니다. 파일이 생성되는 경우 필수입니다. 그렇지 않으면 무시됩니다.
pri
요청 우선 순위: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX 또는 null. null이 전달되면 pri는 내부적으로 EIO_PRI_DEFAULT로 설정됩니다.
callback
요청이 완료되면 callback 함수가 호출됩니다. 다음 프로토타입과 일치해야 합니다.

void callback(mixed $data, int $result[, resource $req]);

data
요청에 전달된 사용자 지정 데이터입니다.
result
요청별 결과 값; 기본적으로 해당 시스템 호출에 의해 반환되는 값입니다.
req
eio_get_last_error()와 같은 함수와 함께 사용할 수 있는 선택적 요청 리소스입니다.
data
callback에 전달된 임의의 변수입니다.

반환 값

eio_open() 성공 시 callbackresult 인수에 파일 설명자를 반환합니다. 그렇지 않으면 result는 -1과 같습니다.


Examples

예제 #1 eio_open() 예제

                  
<?php
$temp_filename = "eio-temp-file.tmp";

/* Is called when eio_close() finishes */
function my_close_cb($data, $result) {
 // Zero indicates success
    var_dump($result == 0);
 @unlink($data);
}

/* Is called when eio_open() finishes */
function my_file_opened_callback($data, $result) {
 // $result should contain the file descriptor
    var_dump($result > 0);

    if ($result > 0) {
  // Close the file
        eio_close($result, EIO_PRI_DEFAULT, "my_close_cb", $data);
        eio_event_loop();
    }
}

// Create new file for reading and writing
// Deny group and others to do anything with that file
eio_open($temp_filename, EIO_O_CREAT | EIO_O_RDWR, EIO_S_IRUSR | EIO_S_IWUSR,
  EIO_PRI_DEFAULT, "my_file_opened_callback", $temp_filename);
eio_event_loop();
?>
                  
                

위의 예는 다음과 유사한 결과를 출력합니다.

bool(true)
bool(true)
                

기타