• php 文件 创建 剪切 复制 常用函数


    <?php
    header('content-type:text/html;charset=utf-8');
    /*
     * 注 touch 如文件已存在,设定文件的访问和修改时间 如果文件不存在,则会被创建。
     * touch(文件名,时间戳); 时间戳默认为当前时间 返回布尔值
     * */
    //
    //创建文件 123.txt(如果文件不存在)
    if(!file_exists('123.txt')){
        touch('123.txt');
    };
    /*
     * 删除文件unlink(文件名)返回布尔值
     * */
    //删除文件123.txt(如果文件存在)
    if(file_exists('123.txt')){
        unlink('123.txt');
    };
    /*
     * rename重命名文件或剪切文件
     * rename(文件名,新文件名) 返回布尔值
     * */
    if(!file_exists('aaa.txt')){//aaa.text文件不存则创建
       touch('aaa.txt');
    }
    rename('aaa.txt','bbb.txt');//把aaa.text 重命名为bbb.text
    if(!file_exists('test')){//当前目录创建test文件夹
        mkdir('test',777);
    }
    //DIRECTORY_SEPARATOR 目录分隔符
    rename('bbb.txt','test'.DIRECTORY_SEPARATOR.'bbb.txt');//将bbb.text移动到test文件夹*/

    /*
     * copy(路径,目标路径)复制文件 返回布尔值
     * 如果目标文件已存在,将会被覆盖。
     *
     * */
    copy('test'.DIRECTORY_SEPARATOR.'bbb.txt','bbb.txt'); //将test目录的bbb.txt文件拷贝到当前目录
    //拷贝远程图片 要在php.ini 中开启 allow_url_fopen (默认是开启的)
    copy('http://c.hiphotos.baidu.com/baike/pic/item/91ef76c6a7efce1b27893518a451f3deb58f6546.jpg','./test/a.jpg');
    /**
     * 创建文件方法
     * @method  createFile
     * @param string $filename 文件名
     * @return bool
     */
    function createFile($filename){
        //检测文件是否存在 不存在则创建
        if(file_exists($filename)){
            return false;
        }
        //检测目录是否存在不存在则创建
        if(!is_dir(dirname($filename))){
            mkdir(dirname($filename));
        }
        //创建文件 touch 创建 或用 file_put_contents 创建
        if(touch($filename)){
            return true;
        }
     /*   if(file_put_contents($filename,'')!==false){
            return true;
        }*/

        return false;
    }

    /**
     * 删除文件方法
     * @method  deleteFile
     * @param string $filename 文件名
     * @return bool
     */
    function deleteFile($filename){
        //检测文件存在
        if(!file_exists($filename) ){
            return false;
        }
        if(unlink($filename)){
            return true;
        }
        return false;

    }

    /**
     * 复制文件方法
     * @method  copyFile
     * @param string $filename 源文件名
     * @param string $dest 目标目录
     * @return bool
     */

    function copyFile($filename,$dest){
        //检测文件是否存在
        if(!file_exists($filename)){
            return false;
        }
        //检测目标目录是否存在 不存在则创建
        if(!is_dir($dest)){
            mkdir($dest,0777,true);
        }
        //复制后的文件路径
        $newFilePath=$dest.DIRECTORY_SEPARATOR.basename($filename);
        //检测目标路径是否已存在同名文件
        if(file_exists($newFilePath)){
            return false;
        }
        //复制文件
        if(copy($filename,$newFilePath)){
            return true;
        };
        return false;

    }

    /**
     * 剪切文件方法
     * @method  cutFile
     * @param string $filename 源文件名
     * @param string $dest 目标目录
     * @return bool
     */

    function cutFile($filename,$dest){
        //检测文件是否存在
        if(!file_exists($filename)){
            return false;
        }
        //检测目标目录是否存在 不存在则创建
        if(!is_dir($dest)){
            mkdir($dest,0777,true);
        }
        //剪切后的文件路径
        $newFilePath=$dest.DIRECTORY_SEPARATOR.basename($filename);
        //检测目标路径是否已存在同名文件
        if(file_exists($newFilePath)){
            return false;
        }
        //剪切文件
        if(rename($filename,$newFilePath)){
            return true;
        };
        return false;

    }

    /**
     * 重命名文件方法
     * @method  renameFile
     * @param string $oldName 原文件名
     * @param string $newName 新文件名
     * @return bool
     */

    function renameFile($oldName ,$newName){
        //检测文件是否存在
        if(!file_exists($oldName)){
            return false;
        }

        //得到原文件路径
        $path=dirname($oldName);
        //重命名后的文件路径
        $newFilePath=$path.DIRECTORY_SEPARATOR.$newName;
        //检测是否有重名文件
        if(file_exists($newFilePath)){
            return false;
        }
        //重命名(注意是$newName 不是$newFilePath)
        if(rename($oldName,$newName)){
            return true;
        };
        return false;

    }



  • 相关阅读:
    jmeter性能测试
    Robotframework 之常用断言关键字
    chrome浏览器的调试器乱码问题
    YDKJS:作用域与闭包
    JavaScript事件循环(Event Loop)机制
    第一次react-native项目实践要点总结
    jsonp 演示实例 —— 基于node
    Jquery属性获取——attr()与prop()
    实现跨域的N种方法
    了解闭包
  • 原文地址:https://www.cnblogs.com/hellozg/p/9261459.html
Copyright © 2020-2023  润新知