(PECL eio >= 0.0.1dev)
eio_open — Abre um arquivo
$path,$flags,$mode,$pri,$callback,$data = NULL
eio_open() abre o arquivo especificado em
path mo modo de acesso mode.
pathCaminho do arquivo a ser aberto.
Em alguns SAPIs (ex.: PHP-FPM) pode falhar se o caminho completo não for especificado.
flagsfnctl.h. O padrão é
EIO_O_RDWR.
modepriA prioridade da requisição: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX ou null.
Se null for passado, o parâmetro pri internamente será definido como
EIO_PRI_DEFAULT.
callback
A função callback é chamada quando a requisição é concluída.
Ela deve corresponder ao seguinte protótipo:
void callback(mixed $data, int $result[, resource $req]);datasão dados personalizados passados para a requisição.
resultvalor de resultado específico da requisição; basicamente, o valor retornado pela chamada de sistema correspondente.
reqé um recurso de requisição opcional que pode ser usado com funções como eio_get_last_error().
datacallback.
eio_open() retorna um descritor de arquivo no argumento
result de callback
em caso de sucesso; caso contrário, result é igual a -1.
Exemplo #1 Exemplo de eio_open()
<?php
$temp_filename = "eio-temp-file.tmp";
/* Função chamada quando eio_close() termina */
function my_close_cb($data, $result) {
// Zero indica successo
var_dump($result == 0);
@unlink($data);
}
/* Função chamada quando eio_open() termina */
function my_file_opened_callback($data, $result) {
// $result deve conter o descritor de arquivo
var_dump($result > 0);
if ($result > 0) {
// Fecha o arquivo
eio_close($result, EIO_PRI_DEFAULT, "my_close_cb", $data);
eio_event_loop();
}
}
// Cria novo arquivo para leitura e escrita
// Nega acesso de grupo e outros no arquivo
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();
?>O exemplo acima produzirá algo semelhante a:
bool(true) bool(true)