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>";

 

posted @ 2016-02-25 11:47  司会铭  阅读(462)  评论(0编辑  收藏  举报