Location: PHPKode > scripts > Directory list class > directory-list-class/dir.inc.php
<?
/////////////////////////////////////////////////////////////////////////////////////////
// Directory list Class                                                                //
// Written by Robert Boone                                                             //
/////////////////////////////////////////////////////////////////////////////////////////
//                                                                                     //
// This is a basic class to list the content of directories.                           //
// This class is written for UNIX file systems but could work in                       //
// DOS with a few changes.                                                             //
//                                                                                     //
//                                                                                     //
//                                                                                     //
// Method SetDir($path) - Path of directory: Returns nothing                           //
// Method GetAll() - Gets list of folders and files in set directory: Returns Array    //
// Method GetFolders() - Gets list of all folders in set directory: Returns Array      //
// Method GetFiles() - Gets list of all files in set directory: Returns Array          //
// Method GetFiles($ext) - Gets list of files with .$ext: Returns Array                //
//                                                                                     //
/////////////////////////////////////////////////////////////////////////////////////////


class Dir {


	// private
	var $FOLDERS = array();
	var $FILES = array();
	var $ALL = array();
	var $DIR;
	
	// public
	function SetDir($dir) {
		$this->DIR = escapeshellcmd($dir);
	}

	function GetAll() {
		
		unset($this->ALL);
		exec("ls ".$this->DIR,$filename);

		for ($count = 0; $count <= (sizeof($filename)-1); $count++) {
			$this->ALL[] = $filename[$count];
				
		}
	return $this->ALL;
	}
	
	function GetFolders() {
		unset($this->FOLDERS);
		exec("ls ".$this->DIR,$filename);

		for ($count = 0; $count <= (sizeof($filename)-1); $count++) {
			if (is_dir($this->DIR."/".$filename[$count])) {
				$this->FOLDERS[] = $filename[$count];
				
			}
		}
	return $this->FOLDERS;
	}

	function GetFiles() {
		unset($this->FILES);
		exec("ls ".$this->DIR,$filename);

		for ($count = 0; $count <= (sizeof($filename)-1); $count++) {
			if (is_file($this->DIR."/".$filename[$count])) {
				$this->FILES[] = $filename[$count];
				
			}
		}
	return $this->FILES;
	}

        function GetFiles($include) {
	        unset($this->FILES);
		exec("ls ".$this->DIR,$filename);
                for ($count = 0; $count <= (sizeof($filename)-1); $count++) {
                if (is_file($this->DIR."/".$filename[$count]) AND eregi($include, $filename[$count])) {
		$this->FILES[] = $filename[$count];
		}
	  }
	return $this->FILES;
        }

}
?>
Return current item: Directory list class