| 
<?php
 echo '<pre style="line-height: 25px;">';
 
 
 // Loads PathManager class
 require_once "class.pathparser.php";
 
 
 $path = 'http://www.php.net:80/./donwloads/../faq/.././manual/en/install.php?version=502#top';
 
 $Path = new PathParser($path);
 
 echo "\nOriginal path: " . $path;
 echo "\nResolved path: " . $Path->path;
 echo "\n\nPath parts: \n";
 print_r($Path->parse());
 
 
 
 echo "\n\n\n    Dirty paths:\n";
 
 $paths[] = 'C://////////Windows//////System';               //  C:/Windows/System/
 $paths[] = 'C:\HTML\javascript\..\examples\colors.html';    //  C:/HTML/examples/colors.html
 $paths[] = '/root/./wwwroot/scripts/../././webpage';        //  /root/wwwroot/webpage/
 $paths[] = 'wwwroot/webpage/../index.php?querystring';      //  wwwroot/index.php?querystring
 $paths[] = 'http://www.php.net/manual/en/../../downloads';  //  http://www.php.net/downloads/
 $paths[] = 'http://www.php.net/downloads/.././docs.php';    //  http://www.php.net/docs.php
 $paths[] = '../downloads/../docs.php';                      //  ../docs.php
 $paths[] = 'localhost//projetos/../_arquivos/../';          //  localhost/
 $paths[] = 'C:/downloads/../../../';                        //  C:/
 $paths[] = 'downloads/../../../';                           //  ../../
 
 foreach ($paths as $path)
 {
 echo "\n"" . $path . ""  =  "" . $Path->fix($path) . """;
 }
 
 
 
 echo "\n\n\n    Finding relative paths:\n";
 
 
 $path_a = 'http://www.php.net/manual/en/install.php';
 $path_b = 'http://www.php.net/downloads';
 
 echo "\nPath A:  " . $path_a;
 echo "\nPath B:  " . $path_b;
 echo "\nA to B:  " . $Path->findRelativePath($path_a, $path_b); //  ../../downloads/
 echo "\nB to A:  " . $Path->findRelativePath($path_b, $path_a); //  ../manual/en/install.php
 
 
 
 echo '</pre>';
 
 ?>
 |