PHP学习笔记七、文件操作
一、PHP文件系统简介
1、获取目标文件的类型
filetype(filename)
:文件名要带上路径
<?php
//“./表示当前路径;../表示上级路径”
echo filetype("./demo.php");//output:file:文件
echo filetype("../7");//output:dir:目录
?>
2、判断文件或者目录是否存在
bool file_exists(path)
二、文件访问权限
1、修改文件的权限(一般用命令修改)
chmod(file,mode):只能用于linux操作系统
<?php
chmod("./test.txt", 0600);
?>
三、文件的基本操作
对文件的操作最常见的就是读、写,以及使用函数对相关返回字符串进行处理和打印,这些常用操作在PHP中都可以利用内置的函数快速完成。
1、打开与关闭
<?php
$file=fopen("/home/test/test.txt","r")//返回值是资源
fclose($file);
?>
打开模式
<?php
//1、打开文件
//2、读、写
//3、保存关闭
//以"r"方式,打开一个没有的文件会报错
$fp=fopen("./data.txt", "r");
fclose($fp);
//以"r+"方式,打开一个没有的文件会报错
$fp=fopen("./data.txt", "r+");
fclose($fp);
//以"w"方式打开一个没有的文件,会创建一个新文件
$fp=fopen("./data.txt", "w");
fclose($fp);
var_dump($fp);
?>
2、PHP读取内容
<?php
//以只读方式打开一个文件
$fp=fopen("./data.txt", "r");
//一直读取到文件末尾
while (!feof($fp)) {
//一次读取5个字符
echo fread($fp, 5)."<br/>";
}
//关闭资源
fclose($fp);
?>
file(path)
:一般用于读取本地文件
<?php
$result= file("./data.txt");//返回值是数组
print_r($result);
?>
file_get_contents(path)
:一般用于读取远程的文件
<?php
//返回值是字符串(返回远程文件的源码)
echo file_get_contents("http://www.baidu.com/index.php");
?>
3、PHP写入内容
有三种方式:r+、w、a
<?php
$fp=fopen("./data.txt", "w");
fwrite($fp, "穿跟IT教育");
fclose($fp);
?>
计数器
<?php
$fp=fopen("./data.txt", "r");
$num=fread($fp, 20);
fclose($fp);
$fp=fopen("./data.txt", "w");
fwrite($fp, $num+1);
fclose($fp);
//用图片数字显示
$arr=str_split($num);
foreach ($arr as $v) {
echo "<img src='./image/red_num_0".$v.".png' ";
}
?>
4、删除文件
unlink(filename)
<?php
unlink("./data.txt");
?>
5、拷贝文件
bool copy(string $source,string $dest);
<?php
copy("./date.txt", "./demo.txt");
?>
四、目录的基本操作
1、新建目录
mkdir
<?php
mkdir("./abc");//创建"abc"文件夹
?>
2、删除目录
rmdir(path)
:只能删除空目录
<?php
rmdir("./abc");//删除"abc"文件夹
?>
//删除非空目录
<?php
function fun_delete($dir){
$od=opendir($dir);
//读取两次,排除"."和".."
readdir($od);
readdir($od);
while (false!==($file=readdir($od))) {
//如果是目录
if (is_dir($dir."/".$file)) {
fun_delete($dir."/".$file);
}
//如果是文件
else{
//删除文件
unlink($dir."/".$file);
}
}
closedir($od);
rmdir($dir);//删除自己
}
//删除image目录下的所有文件(包括自己)
fun_delete("./image");
?>
3、重命名和移动
rename
<?php
rename("./data.txt", "./test.txt");//重命名文件
rename("./abc", "./test");//重命名文件夹
rename("./image/02.png", "./02.png");//移动文件
?>
4、遍历目录
<?php
//第一种方式
$od=opendir("./image");//返回的是资源
while (false!==($file=readdir($od))) {
echo $file."<br/>";
}
closedir($od);
//第二种方式
$result= scandir("./image");//返回值是数组
print_r($result);
?>
作者:liujf
出处:http://www.cnblogs.com/liujf5566/
本文版权归作者和博客园所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利~