当前位置:Gxlcms > PHP教程 > php小代码----目录下读取子文件或子目录_PHP教程

php小代码----目录下读取子文件或子目录_PHP教程

时间:2021-07-01 10:21:17 帮助过:14人阅读

php小代码----目录下读取子文件或子目录


rootPath = $rootPath; if (is_dir($this->rootPath)) { $this->rootPath = pathinfo($this->rootPath, PATHINFO_DIRNAME) . DIRECTORY_SEPARATOR . pathinfo($this->rootPath, PATHINFO_BASENAME); $this->opDirectory = dir($this->rootPath); } else { $this->errorMsg = '您提供的目录不存在!'; $this->errorNo = 1001; throw new Exception($this->errorMsg, $this->errorNo); } } private function read($directory, $parentPath, $modeInfo = 'mixed', $defaultDir = false, $fullPath = false) { $dirInfo = array(); while (FALSE !== ($childDirOrFileName = $directory->read())) { switch ($modeInfo) { case self::RECDIR_MIXED: if ($defaultDir) { $dirInfo[] = $fullPath ? $parentPath . DIRECTORY_SEPARATOR . $childDirOrFileName : $childDirOrFileName; } else { if ($childDirOrFileName != '.' && $childDirOrFileName != '..') { $dirInfo[] = $fullPath ? $parentPath . DIRECTORY_SEPARATOR . $childDirOrFileName : $childDirOrFileName; } } break; case self::RECDIR_DIR: if (is_dir($parentPath . DIRECTORY_SEPARATOR . $childDirOrFileName)) { if ($defaultDir) { $dirInfo[] = $fullPath ? $parentPath . DIRECTORY_SEPARATOR . $childDirOrFileName : $childDirOrFileName; } else { if ($childDirOrFileName != '.' && $childDirOrFileName != '..') { $dirInfo[] = $fullPath ? $parentPath . DIRECTORY_SEPARATOR . $childDirOrFileName : $childDirOrFileName; } } } break; case self::RECDIR_FILE: if (is_file($parentPath . DIRECTORY_SEPARATOR . $childDirOrFileName)) { $dirInfo[] = $fullPath ? $parentPath . DIRECTORY_SEPARATOR . $childDirOrFileName : $childDirOrFileName; } break; } } return $dirInfo; } /** * (PHP 5 >= 5.4.0)
* 得到目录下的直接子目录或直接子文件信息 * @param string $modeInfo[可选]

* 返回目录下信息的模式 * mixed 返回所有的文件名及目录名 * dir 返回所有的目录名 * file 返回所有的文件名 *

* @param bool $defaultDir[可选]

* 是否包括默认的链接目录..和. * false 不包括 * true 包括 *

* @param bool $fullPath[可选]

* 是否返回子文件或目录的路径信息 * true 是 * false 否 *

* @return array 返回一个数组,记录了该目录下的信息 */ public function getPathDirectDirInfo($modeInfo = 'mixed', $defaultDir = false, $fullPath = false) { return $this->read($this->opDirectory, $this->rootPath, $modeInfo, $defaultDir, $fullPath); } } //----------------------------test----------------------------------------- header("Content-type:text/html; charset=UTF-8"); try { $recDir = new RecDir('./CALLTEMP/'); $dirs = $recDir->getPathDirectDirInfo('file', true, true); var_dump($dirs); } catch (Exception $ex) { echo '在文件【' . $ex->getFile() . '】中的第' . $ex->getLine() . '行报错:' . $ex->getMessage() . '(' . $ex->getCode() . ')'; }

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1053347.htmlTechArticlephp小代码----目录下读取子文件或子目录 ?php class RecDir { protected $rootPath; protected $opDirectory; const RECDIR_MIXED = mixed; const RECDIR_DIR = dir; const RECD...

人气教程排行