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