php文件操作
文件操作
<?php //文件:文件和文件夹(目录) filetype("./aa.txt"); //判断文件类型,如果是文件返回file,如果是目录返回dir。 var_dump(is_dir("./test"));//判断给的路径是不是目录 is_file("./aa.txt");//判断给的路径是不是文件 echo date("Y-m-d H:i:s",fileatime("./aa.txt"));//获取文件的上次访问时间 echo date("Y-m-d H:i:s",filectime("./aa.txt"));//获取文件的创建时间 echo date("Y-m-d H:i:s",filemtime("./aa.txt"));//获取文件的修改时间 echo filesize("./aa.txt");//获取文件大小 var_dump(file_exists("./aa.txt"));//判断文件是否存在 //文件路径 //当前目录:./ //上级:../ //下级:文件夹名/ //根目录:/ //根目录/有两层意思:如果在PHP里:代表硬盘根目录 在网页里:代表服务器的根目录(www)目录 //做文件上传(头像,产品图片),保存在数据库的路径一定要写绝对路径 echo $_SERVER['DOCUMENT_ROOT'];//取服务器的(www)根目录 echo basename("./aa.txt");//路径中获取文件名 echo basename("./aa.txt",".txt");//路径中获取文件名(去掉后缀) echo dirname("./test/bb.txt");//路径中目录名 var_dump(pathinfo("./test/bb.txt"));//返回文件信息(数组) echo realpath("./test/bb.txt");//返回规范化的绝对路径(将相对路径转为绝对路径) //目录操作 var_dump(glob("./Users/*.php"));//返回该目录下所有.php文件数组 function ShuLiang($filename) { if(is_dir($filename)) { $attr = glob("./Users/*"); $s1=0; foreach($attr as $v) { if(is_dir($v)) { $s1=$s1+ShuLiang($v); } else { $s1++; } } return $s1; } else if(is_file($filename)) { return 1; } else { return 0; } } //调用目录的第二种方式 $dir = opendir("./Users/zfz");//打开目录资源 echo readdir($dir);//.当前文件(返回目录的一个文件,读一次指针向下走,注意前两个) echo readdir($dir);//上级文件.. echo readdir($dir);//文件 while($v=readdir($dir)) { if($v=="."||$v=="..") { } else { echo $v."<br />"; } } //读出所有数据 closedir($dir);//关闭目录资源 rewinddir($dir);//指针返回最初 //目录操作 mkdir("./aa");//创建目录 rmdir("./aa");//目录必须为空才可以删除 rename("./test","./testt");//重命名,移动目录文件 touch("./cc.txt");//创建文件 copy("./cc.txt","../cc.txt");//复制文件 unlink("./cc.txt");//删除文件 echo file_get_contents("./aa.txt");//读取文件内容(本地) //echo file_get_contents("http://www.baidu.com");//读取文件内容(远程) file_put_contents("aa.txt","ih hello");//写入文件内容(覆盖) readfile("./aa.txt");//读取文件并输出 var_dump(file("aa.txt"));//将文件中每行数据放到数组 //打开文件资源 $fp = fopen("./aa.txt","r"); //r只读;r+读写;w写清空;w+读写;a写入文件末尾;a+读写; //x创建并以写入打开;x+创建并以读写打开;加一个b代表可操作二进制文件(建议加) echo fgetc($fp);//获取文件内容(一个字符一个字符读) while($v=fgetc($fp)) { echo $v; } echo fgets($fp)."<br/>";//获取文件内容(一次读一行) echo fgets($fp); echo fread($fp,10);//读取文件的内容,可以读取特定长度的内容 fwrite($fp,"aaa的aa");//写入内容,w方式会覆盖