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-- Test dirname() function : usage variations --FILE-- <?php class temp { functio..

Decoded Output download

--TEST--
Test dirname() function : usage variations
--FILE--
<?php
class temp
{
   function __toString() {
     return "Object";
   }
}

$file_path_variations = array (
  /* home dir shortcut char */
  "~/home/user/bar",
  "~/home/user/bar/",
  "~/home/user/bar.tar",
  "~/home/user/bar.tar/",

  /* with hotname:dir notation */
  "hostname:/home/user/bar.tar",
  "hostname:/home/user/tbar.gz/",
  "hostname:/home/user/My Pics.gz",
  "hostname:/home/user/My Pics.gz/",
  "hostname:/home/user/My Pics/",
  "hostname:/home/user/My Pics",

  /* path containing numeric string */
  "10.5",
  "/10.5",
  "/10.5/",
  "10.5/",
  "10/10.gz",
  '0',
  "0",

  /* object */
  new temp,

  /* path as spaces */
  " ",
  ' ',

  /* empty path */
  "",
  '',
);

function check_dirname( $paths ) {
   $loop_counter = 0;
   $noOfPaths = count($paths);
   for( ; $loop_counter < $noOfPaths; $loop_counter++ ) {
     echo "
--Iteration ";
     echo $loop_counter +1;
     echo " --
";
     var_dump( dirname($paths[$loop_counter]) );
   }
}

echo "*** Testing possible variations in path ***
";
check_dirname( $file_path_variations );

echo "Done
";
?>
--EXPECTREGEX--
\*\*\* Testing possible variations in path \*\*\*

--Iteration 1 --
string\(11\) "~(\|\/)home(\|\/)user"

--Iteration 2 --
string\(11\) "~(\|\/)home(\|\/)user"

--Iteration 3 --
string\(11\) "~(\|\/)home(\|\/)user"

--Iteration 4 --
string\(11\) "~(\|\/)home(\|\/)user"

--Iteration 5 --
string\(19\) "hostname:(\|\/)home(\|\/)user"

--Iteration 6 --
string\(19\) "hostname:(\|\/)home(\|\/)user"

--Iteration 7 --
string\(19\) "hostname:(\|\/)home(\|\/)user"

--Iteration 8 --
string\(19\) "hostname:(\|\/)home(\|\/)user"

--Iteration 9 --
string\(19\) "hostname:(\|\/)home(\|\/)user"

--Iteration 10 --
string\(19\) "hostname:(\|\/)home(\|\/)user"

--Iteration 11 --
string\(1\) "."

--Iteration 12 --
string\(1\) "(\|\/)"

--Iteration 13 --
string\(1\) "(\|\/)"

--Iteration 14 --
string\(1\) "."

--Iteration 15 --
string\(2\) "10"

--Iteration 16 --
string\(1\) "."

--Iteration 17 --
string\(1\) "."

--Iteration 18 --
string\(1\) "."

--Iteration 19 --
string\(1\) "."

--Iteration 20 --
string\(1\) "."

--Iteration 21 --
string\(0\) ""

--Iteration 22 --
string\(0\) ""
Done

Did this file decode correctly?

Original Code

--TEST--
Test dirname() function : usage variations
--FILE--
<?php
class temp
{
   function __toString() {
     return "Object";
   }
}

$file_path_variations = array (
  /* home dir shortcut char */
  "~/home/user/bar",
  "~/home/user/bar/",
  "~/home/user/bar.tar",
  "~/home/user/bar.tar/",

  /* with hotname:dir notation */
  "hostname:/home/user/bar.tar",
  "hostname:/home/user/tbar.gz/",
  "hostname:/home/user/My Pics.gz",
  "hostname:/home/user/My Pics.gz/",
  "hostname:/home/user/My Pics/",
  "hostname:/home/user/My Pics",

  /* path containing numeric string */
  "10.5",
  "/10.5",
  "/10.5/",
  "10.5/",
  "10/10.gz",
  '0',
  "0",

  /* object */
  new temp,

  /* path as spaces */
  " ",
  ' ',

  /* empty path */
  "",
  '',
);

function check_dirname( $paths ) {
   $loop_counter = 0;
   $noOfPaths = count($paths);
   for( ; $loop_counter < $noOfPaths; $loop_counter++ ) {
     echo "\n--Iteration ";
     echo $loop_counter +1;
     echo " --\n";
     var_dump( dirname($paths[$loop_counter]) );
   }
}

echo "*** Testing possible variations in path ***\n";
check_dirname( $file_path_variations );

echo "Done\n";
?>
--EXPECTREGEX--
\*\*\* Testing possible variations in path \*\*\*

--Iteration 1 --
string\(11\) "~(\\|\/)home(\\|\/)user"

--Iteration 2 --
string\(11\) "~(\\|\/)home(\\|\/)user"

--Iteration 3 --
string\(11\) "~(\\|\/)home(\\|\/)user"

--Iteration 4 --
string\(11\) "~(\\|\/)home(\\|\/)user"

--Iteration 5 --
string\(19\) "hostname:(\\|\/)home(\\|\/)user"

--Iteration 6 --
string\(19\) "hostname:(\\|\/)home(\\|\/)user"

--Iteration 7 --
string\(19\) "hostname:(\\|\/)home(\\|\/)user"

--Iteration 8 --
string\(19\) "hostname:(\\|\/)home(\\|\/)user"

--Iteration 9 --
string\(19\) "hostname:(\\|\/)home(\\|\/)user"

--Iteration 10 --
string\(19\) "hostname:(\\|\/)home(\\|\/)user"

--Iteration 11 --
string\(1\) "."

--Iteration 12 --
string\(1\) "(\\|\/)"

--Iteration 13 --
string\(1\) "(\\|\/)"

--Iteration 14 --
string\(1\) "."

--Iteration 15 --
string\(2\) "10"

--Iteration 16 --
string\(1\) "."

--Iteration 17 --
string\(1\) "."

--Iteration 18 --
string\(1\) "."

--Iteration 19 --
string\(1\) "."

--Iteration 20 --
string\(1\) "."

--Iteration 21 --
string\(0\) ""

--Iteration 22 --
string\(0\) ""
Done

Function Calls

None

Variables

None

Stats

MD5 58c7c18632bed882a4e886074df87356
Eval Count 0
Decode Time 89 ms