用代码操作文件(文件夹)

  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 //php中的文件指的是文件和文件夹,不是单指文件。
 12 
 13 //1.判断文件(判断是文件还是文件夹)
 14 //var_dump(filetype("./aa.txt"));//找文件,输出结果为file,代表的是文件。
 15 
 16 //var_dump(filetype("./aa"));//找文件夹,输出的是dir,代表的是目录。
 17 
 18 //var_dump(is_file("./aa.txt"));//判断是不是文件,返回的是true
 19 
 20 //var_dump(is_file("./aa"));//返回的是flase
 21 
 22 //var_dump(is_dir("./aa.txt"));//判断是不是文件夹,返回的是flase
 23 
 24 //var_dump(is_dir("./aa"));//返回的是true
 25 
 26 //2.文件属性
 27 //echo date(fileatime("./aa.txt"));//获取文件上次访问时间,返回的是时间戳。
 28 
 29 //echo date("Y-m-d h:i:s",fileatime("./aa.txt"))//把时间戳转化为时间。
 30 
 31 //echo date("Y-m-d h:i:s",filectime("./aa.txt"));//获取文件创建时间
 32 
 33 //echo date("Y-m-d h:i:s",filemtime("./aa.txt"));//获取文件修改时间
 34 
 35 //echo filesize("aa.txt");//返回文件的大小,单位是字节b。
 36 
 37 //var_dump(file_exists("aa.txt"));//判断文件是否存在,存在返回true,不存在返回flase。
 38 
 39 //3.文件路径
 40 
 41 // ./代表当前路径
 42 
 43 // ../代表上级路径
 44 
 45 // /在页面指文档根,在php里面的根代表是磁盘目录,网页里面/也是代表根,是www目录。
 46 
 47 //echo $_SERVER['DOCUMENT_ROOT'];//返回D:/wamp/www/,取的是服务器的根。
 48 
 49 //echo basename("/wamp/www/index.php");//返回index.php,返回的是文件名。
 50 
 51 //echo basename("/wamp/www/index.php",".php");//返回index,返回的只是文件名。
 52 
 53 //echo dirname("/wamp/www/index.php");//返回/wamp/www,只是获取目录。
 54 
 55 //var_dump(pathinfo("/wamp/www/index.php"));//返回数组,里面是文件存在的目录、文件名、文件格式等信息。
 56 
 57 //echo realpath("./aa.txt");//返回D:\wamp\www\wenjiancaozuo\aa.txt,把相对路径转化为绝对路径。
 58 
 59 //4.目录操作
 60 
 61 //mkdir("./bb");//创建目录
 62 
 63 //rmdir("bb");//删除目录,只能删除空文件夹。文件夹里有内容是不能删除的,会报错。
 64 
 65 //rename("./cc","./aa/cc");//移动文件夹,实际上是把文件重新命名位置。
 66 
 67 //rename("./cc","./aa/dd");//移动的同时可以更改文件名。
 68 
 69 //5.遍历目录**
 70 
 71 //var_dump(glob("./zufang/*"));//遍历租房文件夹下所有的文件,相当于未按里面的额搜索。
 72 
 73 //var_dump(glob("./zufang/*.php"));//遍历文件格式为php的文件
 74 
 75 /*$dir = opendir("./zufang");//打开目录资源,打开以后一定要记得关闭。
 76 
 77 //echo readdir();//返回.  .代表当前目录
 78 //echo readdir();//返回..  ..代表上级目录
 79 //echo readdir();//返回第一个文件
 80 //echo readdir();//返回第二个文件
 81 
 82 while($f = readdir($dir))//遍历出所有的文件,文件夹也可以读取。
 83 {
 84     echo $f;
 85 }
 86 
 87 closedir($dir);//关闭目录资源
 88 */
 89 
 90 //例题:给一个文件夹,读取文件夹里面文件的数量
 91 
 92 /*echo ShuLiang("./zufang");
 93 function ShuLiang($filename)
 94 {
 95     $sum = 0;
 96     $dir = opendir($filename);
 97     while($f = readdir($dir))
 98     {
 99         if($f=="." || $f=="..")//如果遍历出的是.或者..,什么也不执行.
100         {
101             
102         }
103         else
104         {
105             $lujing = $filename."/".$f;
106             if(is_file($lujing))
107             {
108                 $sum++;
109             }
110             else
111             {
112                 $sum = $sum+ShuLiang($lujing);
113             }
114         }
115     }
116     closedir($dir);
117     return $sum;
118 }
119 */
120 
121 //6.文件操作
122 
123 //(1)文件整体操作
124 
125 //touch("./cc.txt");//创建文件
126 
127 //copy("./cc.txt","./aa/cc.txt");//赋值文件,第一个参数是要复制的文件,第二个是把文件复制到哪里。
128 
129 //unlink("./cc.txt");//删除文件
130 
131 //echo file_get_contents("./aa.txt");//读取文件内容只能读取txt、html、php等,word、wxcle文档不能读取。
132 
133 //echo file_get_contents("http://www.baidu.com");//这个方法比较重要,可以从网上抓取数据,用正则表达式匹配。
134 
135 //file_put_contents("./aa.txt","hello");//往文件里写内容,写的内容会覆盖原来的内容。
136 
137 //file_put_contents("./ceshi.php","hello");//修改往网页里面的内容
138 
139 //readfile("http://www.baidu.com");//获取并且输出,前面没有写输出。 file_get_contents需要写输出echo。
140 
141 //var_dump(file("http://www.baidu.com"));//把网页的代码一行一行的显示出来。
142 
143 
144 /*$f = fopen("./aa.txt","r");//第一个参数是打开的文件,第二个是打开的方式,方式具体可以查看php手册。
145 
146 //echo fgetc($f);//aa.txt的内容是hello。这里返回的是h
147 //echo fgetc($f);//返回e
148 //echo fgetc($f);//返回l
149 //....fgetc()是一次读一个
150 
151 //echo fgets($f);//一次读一行
152 
153 echo fread($f,2);//读取的长度,这里是读取2个长度,返回he。
154 
155 fclose($f);//文件打开以后一定要关上,如果不关是不能进行别的操作的。*/
156 
157 
158 /*$f = fopen("./aa.txt","a");//a方式是追加
159 
160 fwrite($f,"world");//把world写在hello后面
161 
162 fclose($f);
163 */
164 
165 
166 //给一个文件夹,删除该文件夹
167 
168 /*ShanChu("./zufang");
169 
170 function ShanChu($filename)
171 {
172     if(is_dir($filename))//判断是文件
173     {
174         $dir = opendir($filename);//打开文件夹
175         
176         while($f = readdir($dir))//遍历出文件夹里所有的内容
177         {
178             if($d=="." || $d=="..")//去掉.和..
179             {
180                 
181             }
182             else//操作不是.和..的内容
183             {
184                 $fname = $filename."/".$f;//找到遍历出的内容,拼出来的格式类似wamp/zufang
185                 if(is_file($fname))//如果是文件
186                 {
187                     unlink($fname);
188                 }
189                 else//如果是文件夹
190                 {
191                     ShanChu($fname);//再调用ShanChu方法,删除的文件夹变了。
192                 }
193             }
194         }
195         closedir($dir);//关闭文件夹
196         rmdir($filename);//把文件夹里的内容都删除以后,删除文件夹
197     }
198     else//如果是空文件夹
199     {
200         unlink($filename);//删除该空文件夹
201     }
202 }
203 */
204 
205 ?>

 

206 </body>
207 </html>

 

posted @ 2016-11-16 10:23  Strive-count  阅读(492)  评论(0编辑  收藏  举报