PHP操作文件类
时间:2021-07-01 10:21:17
帮助过:7人阅读
本类为文件操作类,实现了文件的建立,写入,删除,修改,复制,移动,创建目录,删除目录
- /**
- *本类为文件操作类,实现了文件的建立,写入,删除,修改,复制,移动,创建目录,删除目录
- * 列出目录里的文件等功能,路径后面别忘了加"/"
- *
- * @author 路人郝
- * @copyright myself
- * @link www.phpr.cn
- *
- */
- class fileoperate
- {
- var path;// 文件路径
- var name;//文件名
- var result;//对文件操作后的结果
- /**
- * 本方法用来在path目录下创建name文件
- *
- * @param string path
- * @param string name
- */
- function creat_file(path,name)//建立文件
- {
- filename=path.name;
- if (file_exists(filename))
- {
- echo "文件已经存在,请换个文件名";
- }
- else
- {
- if (file_exists(path))
- {
- touch(name);
- rename(name,filename);
- echo "文件建立成功 ";
- }
- else{
- echo "目录不存在,请检查";
- }
- }
- }
- /**
- * 本方法用来写文件,向path路径下name文件写入content内容,bool为写入选项,值为1时
- * 接着文件原内容下继续写入,值为2时写入后的文件只有本次content内容
- *
- * @param string_type path
- * @param string_type name
- * @param string_type content
- * @param bool_type bool
- */
- function write_file(path,name,content,bool) //写文件
- {
- filename=path.name;
- if (bool==1) {
- if (is_writable(filename)) {
- handle=fopen(filename,'a');
- if (!handle) {
- echo "文件不能打开或文件不存在";
- exit;
- }
- result=fwrite(handle,content);
- if (!result) {
- echo "文件写入失败";
- }
- echo "文件写入成功";
- fclose(handle);
- }
- else echo "文件不存在";
- }
- if (bool==2) {
- if (!file_exists(filename)) {
- this->creat_file(path,name);
- handle=fopen(filename,'a');
- if (fwrite(handle,content));
- echo "文件写入成功";
- }
- else {
- unlink(filename);
- this->creat_file(path,name);
- this->write_file(path,name,content,1);
- echo "文件修改成功";
- }
- }
- }
- /**
- * 本方法删除path路径下name文件
- *
- * @param string_type path
- * @param string_type name
- */
- function del_file(path,name){ //删除文件
- filename=path.name;
- if (!file_exists(filename)) {
- echo "文件不存在,请确认路径是否正确";
- }
- else {
- if (unlink(filename)){
- echo "文件删除成功";
- }
- else echo "文件删除失败";
- }
- }
- /**
- * 本方法用来修改path目录里name文件中的内容(可视)
- *
- * @param string_type path
- * @param string_type name
- */
- function modi_file(path,name){ //文件修改
- filename=path.name;
- handle=fopen(filename,'r+');
- content=file_get_contents(filename);
- echo "";
- }
- /**
- * 本方法用来复制name文件从spath到dpath
- *
- * @param string name
- * @param string spath
- * @param string dpath
- */
- function copy_file(name,spath,dpath) //文件复制
- {
- filename=spath.name;
- if (file_exists(filename)) {
- handle=fopen(filename,'a');
- copy(filename,dpath.name);
- if (file_exists(dpath.name))
- echo "文件复制成功";
- else echo "文件复制失败";
- }
- else echo "文件不存在";
- }
- /**
- * 本方法把name文件从spath移动到path路径
- *
- * @param string_type path
- * @param string_type dirname
- * @param string_type dpath
- */
- function move_file(name,spath,dpath) //移动文件
- {
- filename=spath.name;
- if (file_exists(filename)) {
- result=rename(filename,dpath.name);
- if (result==false or !file_exists(dpath))
- echo "文件移动失败或目的目录不存在";
- else
- echo "文件移动成功";
- }
- else {
- echo "文件不存在,无法移动";
- }
- }
- }
- ?>
|