PHP学习笔记七、文件操作

一、PHP文件系统简介

PHP学习笔记七、文件操作_第1张图片

1、获取目标文件的类型

filetype(filename):文件名要带上路径

<?php
//“./表示当前路径;../表示上级路径”
echo filetype("./demo.php");//output:file:文件
echo filetype("../7");//output:dir:目录
?>

2、判断文件或者目录是否存在

bool file_exists(path)

二、文件访问权限

PHP学习笔记七、文件操作_第2张图片

1、修改文件的权限(一般用命令修改)
chmod(file,mode):只能用于linux操作系统

<?php
chmod("./test.txt", 0600);
?>

三、文件的基本操作

对文件的操作最常见的就是读、写,以及使用函数对相关返回字符串进行处理和打印,这些常用操作在PHP中都可以利用内置的函数快速完成。

1、打开与关闭

PHP学习笔记七、文件操作_第3张图片

<?php
$file=fopen("/home/test/test.txt","r")//返回值是资源    
fclose($file); 
?>  

打开模式
PHP学习笔记七、文件操作_第4张图片

<?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学习笔记七、文件操作_第5张图片
PHP学习笔记七、文件操作_第6张图片

<?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写入内容

PHP学习笔记七、文件操作_第7张图片

有三种方式: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、删除文件

PHP学习笔记七、文件操作_第8张图片

unlink(filename)

<?php
unlink("./data.txt");
?>

5、拷贝文件

PHP学习笔记七、文件操作_第9张图片

bool copy(string $source,string $dest);

<?php
copy("./date.txt", "./demo.txt");
?>

四、目录的基本操作

1、新建目录

PHP学习笔记七、文件操作_第10张图片

mkdir

<?php
mkdir("./abc");//创建"abc"文件夹
?>

2、删除目录

PHP学习笔记七、文件操作_第11张图片

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、重命名和移动

PHP学习笔记七、文件操作_第12张图片

rename

<?php
rename("./data.txt", "./test.txt");//重命名文件
rename("./abc", "./test");//重命名文件夹
rename("./image/02.png", "./02.png");//移动文件
?>

4、遍历目录

PHP学习笔记七、文件操作_第13张图片

<?php
//第一种方式
$od=opendir("./image");//返回的是资源
while (false!==($file=readdir($od))) {
    echo $file."<br/>";
}
closedir($od);
//第二种方式
$result= scandir("./image");//返回值是数组
print_r($result);
?>

你可能感兴趣的:(PHP学习笔记七、文件操作)