php实现文件操作

遍历目录
<?php 
	function listdir($dirname){
		$ds=opendir($dirname);
		while ($file=readdir($ds)) {
			if($file!='.' && $file!='..'){
				$path=$dirname."/".$file;
				if(is_dir($path)){
					echo "DIR:".$file."<br>";
					listdir($path);
				}else{
					echo "FILE:".$file."<br>";
				}	
			}
		}
		//删除目录资源
		closedir($ds);
	}
listdir("lianxi");
 ?>
目录大小
<?php 
	function totdir($dirname){
		static $tot;
		$ds=opendir($dirname);
		while ($file=readdir($ds)) {
			if($file!='.' && $file!='..'){
				$path=$dirname."/".$file;
				if(is_dir($path)){
					totdir($path);
				}else{
					$tot+=filesize($path);
				}
			}
		}
		return $tot;
		
		closedir($ds);
	}

echo totdir("lianxi");
 ?>
删除目录
<?php 
	function deldir($dirname){
		$ds=opendir($dirname);
		while ($file=readdir($ds)) {
			if($file!='.' && $file!='..'){
				$path=$dirname."/".$file;
				if(is_dir($path)){
					deldir($path);
				}else{
					unlink($path);
				}
			}
		}
		//删除目录资源
		closedir($ds);

		//删除目录
		rmdir($dirname);
	}

deldir("try");
 ?>
复制目录
<?php 
	function copydir($srcdir,$detdir){
		$ds=opendir($srcdir);
		mkdir($detdir);

		while ($file=readdir($ds)) {
			if($file!='.' && $file!='..'){
				$path=$srcdir."/".$file;
				$newpath=$detdir."/".$file;
				if(is_dir($path)){
					copydir($path,$newpath);
				}else{
					copy($path,$newpath);
				}
			}
		}
		//删除目录资源
		closedir($ds);
	}

copydir("lianxi","try");
 ?>
剪切目录
<?php 
	function movedir($srcdir,$detdir){
		$ds=opendir($srcdir);
		mkdir($detdir);

		while ($file=readdir($ds)) {
			if($file!='.' && $file!='..'){
				$path=$srcdir."/".$file;
				$newpath=$detdir."/".$file;
				if(is_dir($path)){
					movedir($path,$newpath);
				}else{
					copy($path,$newpath);
					unlink($path);
				}
			}
		}
		//删除目录资源
		closedir($ds);

		rmdir($srcdir);
	}

movedir("try","try2");
 ?>
文件上传
<?php 
	header("content-type:text/html;charset=utf-8");

	//得到文件类型
	$tmpfile=$_FILES['filename']['tmp_name'];
	$filetype=array_shift(explode('/', $_FILES['filename']['type']));

	//获取文件后缀
	$fname=$_FILES['filename']['name'];
	$fileext=array_pop(explode('.',$fname));   

	//上传目录
	if($filetype==='image'){
		$dstfile='uploads/image/'.time().'_'.mt_rand().'.'.$fileext;
	}else{
		$dstfile='uploads/files/'.time().'_'.mt_rand().'.'.$fileext;
	} //time()函数加mt_rand()函数保证上传的文件名不重复

	//允许类型
	$filearr=array("jpg","png","rar","zip","php");

	//限制文件大小
	$filesize=$_FILES['filename']['size'];

	if(in_array($fileext,$filearr)){
		if($filesize<=20480){
			if(move_uploaded_file($tmpfile,$dstfile)){
				echo "<script>alert('上传成功!')</script>";
			}else{
				echo "<script>alert('上传失败!')</script>";
				echo "<script>location='index.php'</script>";
				//上传失败并跳转回上传页面
			}
		}else{
			echo "<script>alert('文件大小超过20KB!')</script>";
			echo "<script>location='index.php'</script>";
		}
	}else{
		echo "<script>alert('文件后缀不允许!')</script>";
		echo "<script>location='index.php'</script>";
	}
 ?>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值