example_php文件操作
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <title>无标题文档</title> 6 </head> 7 8 <body> 9 <?php 10 11 //echo filetype("./1.jpg"); //判断文件类型 文件:file 12 //echo filetype("./code"); //目录 dir 13 14 //echo is_dir("code"); //判断是不是目录 15 //echo is_file("1.jpg"); //判断是不是文件 16 17 //echo date("Y-m-d H:i:s",fileatime("1.jpg")); //获取上次的访问时间 18 //echo date("Y-m-d H:i:s",filectime("1.jpg")); //文件的创建时间 19 //echo date("Y-m-d H:i:s",filemtime("1.jpg")); //文件的修改时间 20 //echo filesize("1.jpg")/1024; //文件的大小 21 //echo file_exists("2.jpg"); //判断文件是否存在 22 23 //echo filetype("/wamp"); //当前路径用./或不写;上以及用../; 24 25 /*正斜杠/代表根目录。如果是在php语言里写/则代表磁盘的根,如果是在网页的页面里面使用/则代表服务器的根*/ 26 27 //echo "<img src='/wenjiancaozuo/1.jpg' />"; 28 29 //echo $_SERVER['DOCUMENT_ROOT']; //找网站的根目录 30 31 //echo basename("./code/db.inc.php",".php"); //从路径中返回文件名 32 //echo dirname("./code/db.inc.php");//从路径中返回目录名 33 //print_r(pathinfo("./code/db.inc.php"));//返回路径的所有信息,返回类型是数组 34 //echo realpath("1.jpg"); //将相对路径转换为绝对路径 35 36 /*目录操作*/ 37 //mkdir("./suiji"); //创建文件夹(目录) 38 39 //rmdir("./suiji"); //删除目录,只能删除空的文件夹 40 41 //rename("./name","./code/suiji"); //移动或重命名文件夹 42 43 //print_r(glob("./code/*.php")); //获取该目录下所有文件,可以筛选 44 45 /* //打开目录资源 46 $dir = opendir("./code"); 47 //读文件,每读一条指针向下走一个,注意第一个是.代表当前目录,第二个是..代表上一级目录 48 while($filename = readdir($dir)) 49 { 50 echo $filename."<br>"; 51 } 52 echo "***************************"; 53 rewinddir($dir); 54 while($filename = readdir($dir)) 55 { 56 echo $filename."<br>"; 57 } 58 //关闭资源 59 closedir($dir);*/ 60 61 /*文件操作*/ 62 //touch("./2.txt"); //创建文件 63 //copy("./2.txt","./code/2.txt"); //复制文件 64 //unlink("./code/2.txt"); //删除文件 65 //echo file_get_contents("http://www.baidu.com"); //读取文件 66 //file_put_contents("./2.txt","hello world"); //写入内容,会覆盖 67 //readfile("http://www.baidu.com"); //读文件内容直接输出 68 //$attr = file("./2.txt"); //读文件内容,然后返回每一行的数组 69 70 $fp = fopen("./2.txt","r"); //打开文件资源 71 72 //fwrite($fp,"bbbbbbbbbbb");//写入内容 73 74 /*while(!feof($fp)) //当读取出错或者读到末尾返回true 75 { 76 echo fgetc($fp); //读取内容,一个字符一个字符读,读完指针下移 77 }*/ 78 79 /*while(!feof($fp)) 80 { 81 echo fgets($fp)."<br>"; //读取内容,每次读一行 82 }*/ 83 84 //echo fread($fp,100); //读取内容,可以控制读取多少个字符 85 86 fclose($fp); 87 88 89 ?> 90 </body> 91 </html>
1 <?php 2 function deldir($dirname) { 3 if(!file_exists($dirname)) { 4 die("文件夹不存在!"); 5 } 6 //如果是文件,直接删除即可 7 if(is_file($dirname)) { 8 unlink($dirname); 9 } 10 11 12 $dir = opendir($dirname); 13 14 while($filename = readdir($dir)) { 15 if($filename !="." && $filename!="..") { //******* 16 $filename = $dirname."/".$filename; 17 18 if(is_dir($filename) ) { 19 deldir($filename); 20 }else { 21 unlink($filename); 22 } 23 24 } 25 } 26 27 28 29 closedir($dir); 30 rmdir($dirname); 31 } 32 33 34 deldir("./code");
1 <?php 2 $dirn = 0; //目录数 3 $filen = 0; //文件数 4 5 6 //用来统计一个目录下的文件和目录的个数 7 function getdirnum($file) { 8 global $dirn; 9 global $filen; 10 11 $dir = opendir($file); 12 13 14 while($filename = readdir($dir)) { 15 if($filename!="." && $filename !="..") { 16 $filename = $file."/".$filename; 17 18 19 if(is_dir($filename)) { 20 $dirn++; 21 getdirnum($filename); //递归,就可以查看所有子目录 22 } else { 23 $filen++; 24 } 25 } 26 27 28 } 29 30 31 32 closedir($dir); 33 34 35 } 36 37 38 getdirnum("./code"); 39 40 41 echo "目录数为:{$dirn}<br>"; 42 echo "文件数为:{$filen}<br>";
1 <?php 2 //用来统计一个目录下大小 3 function dirsize($file) { 4 $size = 0; 5 $dir = opendir($file); 6 7 8 while($filename = readdir($dir)) { 9 if($filename!="." && $filename !="..") { 10 $filename = $file."/".$filename; 11 12 13 if(is_dir($filename)) { 14 //使用递归 15 $size += dirsize($filename); 16 } else { 17 $size += filesize($filename); 18 } 19 } 20 21 22 } 23 24 25 26 closedir($dir); 27 28 return $size; 29 } 30 31 32 echo "code目录大小为:".(dirsize("./code")/pow(1024,1))."KB<br>";