• 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/
    本文版权归作者和博客园所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利~

  • 相关阅读:
    【转】 url中文乱码问题
    [转]Jquery 点击图片在弹出层显示大图
    JQuery获取和设置Select选项的常用方法总结
    springMVC框架下返回json格式的对象,list,map
    sqlserver数据库 表中字段值有空格,如何去除空格(例如char (5) 存入数据不足5位时sqlserver会自动补空格)
    jquery Jbox 插件实现弹出窗口在修改的数据之后,关闭弹出窗口刷新父页面的问题
    sqlserver 2008 r2 直接下载地址,可用迅雷下载
    web服务器与tomcat
    xml入门与解析
    jdbc框架-dbutils的简单使用
  • 原文地址:https://www.cnblogs.com/liujf5566/p/5158062.html
Copyright © 2020-2023  润新知