php文件目录操作
新建文件
1、先确定要写入文件的内容
content=′你好′;2、打开这个文件(系统会自动建立这个空文件)//假设新建的文件叫file.txt,而且在上级目录下。w表示‘写文件′,content=′你好′;2、打开这个文件(系统会自动建立这个空文件)//假设新建的文件叫file.txt,而且在上级目录下。w表示‘写文件′,fp下面要用到,表示指向某个打开的文件。
fp=fopen(′../file.txt′,′w′);3、将内容字符串写入文件//fp=fopen(′../file.txt′,′w′);3、将内容字符串写入文件//fp告诉系统要写入的文件,写入的内容是contentfwrite(contentfwrite(fp, content);4、关闭文件fclose(content);4、关闭文件fclose(fp);
说明:PHP5中提供了更方便的函数file_put_contents,上面的4步可以这样完成:
content=′你好′;fileputcontents(′file.txt′,content=′你好′;fileputcontents(′file.txt′,content);
删除文件
//删除当前目录下的arch目录下的文件abc.txt
unlink(‘arch/abc.txt‘);
说明:系统会返回操作结果,成功则返回 TRUE,失败则返回 FALSE,可以用变量接收,就知道是否删除成功:
$deleteResult = unlink(‘arch/abc.txt‘);
获取文件内容
//假设获取的目标文件名是file.txt,而且在上级目录下。获取的内容放入content。content。content = file_get_contents(‘../file.txt‘);
修改文件内容
操作方法与新建内容基本一样
重命名文件或目录
//将当前目录下的子目录a下面的文件1.gif重命名为2.gif。
rename(‘/a/1.gif‘, ‘/a/2.gif‘);
说明:对目录也一样。系统会返回操作结果,成功则返回 TRUE,失败则返回 FALSE,可以用变量接收,就知道是否重命名成功。
$renameResult = rename(‘/a/1.gif‘, ‘/a/2.gif‘);
如果要移动文件或目录,只要将重命名后的路径设置为新的路径就可以了:
//将当前目录下的子目录a下面的文件1.gif,移动到当前目录下的子目录b,并且重命名为2.gif。
rename(‘/a/1.gif‘, ‘/b/2.gif‘);
不过要注意,如果目录b不存在,就会移动失败。
复制文件
//将当前目录下的子目录a下面的文件1.gif,复制到当前目录下的子目录b,并命名为2.gif。
copy(‘/a/1.gif‘, ‘/b/1.gif‘);
说明:不能对目录进行此项操作。
如果目标文件(上面的/b/1.gif)已经存在,原来的文件将被覆盖。
系统会返回操作结果,成功则返回 TRUE,失败则返回 FALSE,可以用变量接收,就知道是否复制成功。
$copyResult = copy(‘/a/1.gif‘, ‘/b/1.gif‘);
移动文件或目录
操作方法和重命名一样
文件或目录是否存在
//检查上级目录下的文件logo.jpg是否存在。
$existResult = file_exists(‘../logo.jpg‘);
说明:如果文件存在系统返回true,否则返回false。可以对目录进行同样的操作。
获取文件大小
//获取上级目录下的文件logo.png的大小。
$size = filesize(‘../logo.png‘);
说明:系统会返回一个数字,表示文件的大小是多少字节(bytes)。
新建目录
//在当前目录下的目录a下面新建目录b。
mkdir(‘/a/b‘);
说明:系统会返回操作结果,成功则返回 TRUE,失败则返回 FALSE,可以用变量接收,就知道是否新建成功:
$mkResult = mkdir(‘/a/b‘);
删除目录
//删除当前目录下的目录a下面的子目录b。
rmdir(‘/a/b‘);
说明:只能删除非空的目录,否则必须先删除目录下的子目录和文件,再删除总目录
系统会返回操作结果,成功则返回 TRUE,失败则返回 FALSE,可以用变量接收,就知道是否删除成功:
$deleteResult = rmdir(‘/a/b‘);
获取目录中的所有文件名
1、先打开要操作的目录,并用一个变量指向它
//打开当前目录下的目录pic下的子目录common。
handler=opendir(′pic/common′);2、循环的读取目录下的所有文件/?其中handler=opendir(′pic/common′);2、循环的读取目录下的所有文件/?其中filename = readdir(handler)是每次循环的时候将读取的文件名赋值给handler)是每次循环的时候将读取的文件名赋值给filename,为了不陷于死循环,所以还要让filename!==false。一定要用!==,因为如果某个文件名如果叫′0′,或者某些被系统认为是代表false,用!=就会停止循环?/while((filename!==false。一定要用!==,因为如果某个文件名如果叫′0′,或者某些被系统认为是代表false,用!=就会停止循环?/while((filename = readdir(handler)) !== false ) { 3、目录下都会有两个文件,名字为‘.‘和‘..‘,不要对他们进行操作 if($filename != "." && $filename != "..") { 4、进行处理 //这里简单的用echo来输出文件名 echo $filename; } } 5、关闭目录 closedir(handler)) !== false ) { 3、目录下都会有两个文件,名字为‘.‘和‘..‘,不要对他们进行操作 if($filename != "." && $filename != "..") { 4、进行处理 //这里简单的用echo来输出文件名 echo $filename; } } 5、关闭目录 closedir(handler);
对象是否是目录
//检查上级目录下的目标对象logo.jpg是否是目录。
checkResult=isdir(′../logo.jpg′);说明:如果目标对象是目录系统返回true,否则返回false。上面例子的checkResult=isdir(′../logo.jpg′);说明:如果目标对象是目录系统返回true,否则返回false。上面例子的checkResult当然是false。
对象是否是文件
//检查上级目录下的目标对象logo.jpg是否是文件。
checkResult=isfile(′../logo.jpg′);说明:如果目标对象是文件,系统返回true,否则返回false。上面例子的checkResult=isfile(′../logo.jpg′);说明:如果目标对象是文件,系统返回true,否则返回false。上面例子的checkResult当然是true。
原文地址:https://www.cnblogs.com/xiaoliwang/p/9253330.html