<?php
class File{
	/* 獲取某個目錄下所有檔案
	 * @param $path 檔案路徑
	 * @param $child 是否包含子目錄
	 */
	public function getFiles($path, $child = false) {
		$files = [];
		if (!$child) {
			if (is_dir($path)) {
				$dp = dir($path);
				while ($file = $dp->read()) {
					if ($file != "." && $file != ".." && is_file($path . $file)) $files[] = $file;
				}
				$dp->close();
			} else {
				return null;
			}
		} else {
			$this->scanFiles($files, $path);
		}
		return $files;
	}
	
	/* @param $files 結果
	 * @param $path 路徑
	 * @param $childDir 子目錄名稱
	 */
	public function scanFiles(&$files, $path, $childDir = false) {
		$dp = dir($path);
		while ($file = $dp->read()) {
			if ($file != "." && $file != "..") {
				if (is_file($path . $file)) { // 當前為檔案
					$files["name"] = $file;
				} else { // 當前為目錄
					$this->scanFiles($files["dir"], $path . $file . DIRECTORY_SEPARATOR, $file);
				}
			}
		}
		$dp->close();
	}
}
?>