PHP.nl

eio_mknod

eio_mknod

Create a special or ordinary file

resource **eio_mknod** string $path int $mode int $dev int $pri callable $callback mixed $data

creates ordinary or special(often) file. eio_mknod

pathPath for the new node(file).

mode Specifies both the permissions to use and the type of node to be created. It should be a combination (using bitwise OR) of one of the file types listed below and the permissions for the new node(e.g. 0640).

  Possible file types are: (regular file),
  (character file),
  (block special file),
  (FIFO - named pipe) and
  (UNIX domain socket).

  To specify permissions  constants could be
  used.
 `EIO_S_IFREG``EIO_S_IFCHR``EIO_S_IFBLK``EIO_S_IFIFO``EIO_S_IFSOCK`*EIO_S_I**

dev If the file type is or then dev specifies the major and minor numbers of the newly created device special file. Otherwise ignored. See . EIO_S_IFCHR``EIO_S_IFBLK``devmknod(2) man page for details

pri``callback``data Arbitrary variable passed to . callback

returns request resource on success,return.falseforfailure.

eio_mknod

Voorbeeld: example

<?php
// FIFO name
$temp_filename = "/tmp/eio-temp-fifo";

/* Is called when eio_mknod() finishes */
function my_mknod_callback($data, $result) {
    $s = stat($data);
    var_dump($s);

    if ($result == 0) {
        echo "eio_mknod_ok";
    }

    @unlink($data);
}

eio_mknod($temp_filename, EIO_S_IFIFO, 0,
    EIO_PRI_DEFAULT, "my_mknod_callback", $temp_filename);
eio_event_loop();
?>
array(26) {
  [0]=>
  int(17)
  [1]=>
  int(2337608)
  [2]=>
  int(4096)
  [3]=>
  int(1)
  [4]=>
  int(1000)
  [5]=>
  int(100)
  [6]=>
  int(0)
  [7]=>
  int(0)
  [8]=>
  int(1318241261)
  [9]=>
  int(1318241261)
  [10]=>
  int(1318241261)
  [11]=>
  int(4096)
  [12]=>
  int(0)
  ["dev"]=>
  int(17)
  ["ino"]=>
  int(2337608)
  ["mode"]=>
  int(4096)
  ["nlink"]=>
  int(1)
  ["uid"]=>
  int(1000)
  ["gid"]=>
  int(100)
  ["rdev"]=>
  int(0)
  ["size"]=>
  int(0)
  ["atime"]=>
  int(1318241261)
  ["mtime"]=>
  int(1318241261)
  ["ctime"]=>
  int(1318241261)
  ["blksize"]=>
  int(4096)
  ["blocks"]=>
  int(0)
}
eio_mknod_ok

eio_open