php文件操作2

<?php 

/* 解析目录路径函数:basename()、dirname()、pathinfo() 
   遍历目录函数:opendir()、readdir()、closedir()、rewinddir()
*/

Class FilePath{

    private $pathName;
	protected $dir_path;
	public function __construct($path,$pathdir){
	    $this->pathName = $path;
		$this->dir_path = $pathdir;
		$this->base_name();
		$this->dir_name();
		$this->path_info();
		$this->dirlist($this->dir_path);
	}
	//返回路径中文件名的部分
	private function base_name(){
	    echo basename($this->pathName).nl2br("\n");//返回结果:array.php
		echo basename($this->pathName,'.php').nl2br("\n");//返回结果:array
	}
	//和函数basename相反,只需要一个参数,返回一个除文件名外的全路径字符串
	private function dir_name(){
	    echo dirname($this->pathName).nl2br("\n");//返回目录名:/web/lamp/php
		echo dirname("D:/").'<br>';//返回目录名:D:/
	}
	//返回的数组,我们很清楚的看到,他们的键值就是我们所用到的函数,他们的value是我们函数返回的数据
	private function path_info(){
	    $fileList = pathinfo($this->pathName);
		//sprint_r($fileList);//返回数组:Array ( [dirname] => /web/lamp/php [basename] => array.php [extension] => php [filename] => array )
	}
    //目录遍历
	private function dirlist($pathname){
	    //$dir_name = '../php';
		if($open = opendir($this->dir_path)){
			while($filename = readdir($open)){
				$pathname = $this->dir_path.'/'.$filename;
				echo $pathname.'  '."文件大小为:".filesize($filename).'  '."文件属性为:".filetype($filename).'<br>';
				if($filename!='.' && $filename!='..'){
					if(is_dir($pathname)){
						$dir_size+=$this->dirlist($pathname);
						echo $dir_size.'----------------<br>';
					}
					if(is_file($pathname)){
						$dir_size+=filesize($pathname);
						//echo $dir_size.'----------------<br>';
					}
				}
			}
		}
		closedir($open);
		return $dir_size;
	}
}
$path = '/web/lamp/php/array.php';
$dir_path = '../php';
$list = new FilePath($path,$dir_path);

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值