Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

--TEST-- Check for eio_readdir function basic behaviour --SKIPIF-- --FILE-- <?php $dir = ..

Decoded Output download

--TEST--
Check for eio_readdir function basic behaviour
--SKIPIF--
--FILE--
<?php

$dir = "./eio-unknown-dir";
$files = array ("$dir/abc", "$dir/def");
$data = "readdir_data";

mkdir($dir, 0700);
foreach ($files as $f) {
	touch($f);
}

eio_readdir($dir, EIO_READDIR_STAT_ORDER,0,
	function ($data, $result) {
		var_dump($data);
        usort($result['names'], function ($a, $b) { return strcmp($a, $b); });
        usort($result['dents'], function ($a, $b) { return strcmp($a['name'], $b['name']); });
		var_dump($result);
	}, $data
);
eio_event_loop();

foreach ($files as $f) {
	unlink($f);
}

rmdir($dir);
?>
--EXPECTF--
string(12) "readdir_data"
array(2) {
  ["names"]=>
  array(2) {
    [0]=>
    string(3) "abc"
    [1]=>
    string(3) "def"
  }
  ["dents"]=>
  array(2) {
    [0]=>
    array(3) {
      ["name"]=>
      string(3) "abc"
      ["type"]=>
      int(%d)
      ["inode"]=>
      int(%d)
    }
    [1]=>
    array(3) {
      ["name"]=>
      string(3) "def"
      ["type"]=>
      int(%d)
      ["inode"]=>
      int(%d)
    }
  }
}

Did this file decode correctly?

Original Code

--TEST--
Check for eio_readdir function basic behaviour
--SKIPIF--
--FILE--
<?php

$dir = "./eio-unknown-dir";
$files = array ("$dir/abc", "$dir/def");
$data = "readdir_data";

mkdir($dir, 0700);
foreach ($files as $f) {
	touch($f);
}

eio_readdir($dir, EIO_READDIR_STAT_ORDER,0,
	function ($data, $result) {
		var_dump($data);
        usort($result['names'], function ($a, $b) { return strcmp($a, $b); });
        usort($result['dents'], function ($a, $b) { return strcmp($a['name'], $b['name']); });
		var_dump($result);
	}, $data
);
eio_event_loop();

foreach ($files as $f) {
	unlink($f);
}

rmdir($dir);
?>
--EXPECTF--
string(12) "readdir_data"
array(2) {
  ["names"]=>
  array(2) {
    [0]=>
    string(3) "abc"
    [1]=>
    string(3) "def"
  }
  ["dents"]=>
  array(2) {
    [0]=>
    array(3) {
      ["name"]=>
      string(3) "abc"
      ["type"]=>
      int(%d)
      ["inode"]=>
      int(%d)
    }
    [1]=>
    array(3) {
      ["name"]=>
      string(3) "def"
      ["type"]=>
      int(%d)
      ["inode"]=>
      int(%d)
    }
  }
}

Function Calls

mkdir 1

Variables

$dir ./eio-unknown-dir
$data readdir_data
$files [{'key': 0, 'value': './eio-unknown-dir/abc'}, {'key': 1, 'value': './eio-unknown-dir/def'}]

Stats

MD5 5a81783e37fd7807978379135cdb396a
Eval Count 0
Decode Time 90 ms