zoukankan      html  css  js  c++  java
  • PHP文件处理函数

    1.basename() 函数返回路径中的文件名部分。

    $path = __FILE__;//获取当前文件路径

    echo basename($path,".php");

    输出:文件当前文件的名称

    2.dirname() 函数返回路径中的目录部分。

    $path = __FILE__;
    var_dump(dirname($path));

    输出:string(15) "D:phpStudyWWW"

    3.pathinfo() 函数以数组的形式返回文件路径的信息。

    $path = __FILE__;
    var_dump(pathinfo($path));

    输出:array(4) { ["dirname"]=> string(15) "D:phpStudyWWW" ["basename"]=> string(5) "2.php" ["extension"]=> string(3) "php" ["filename"]=> string(1) "2" }

    4.filetype() 函数返回指定文件或目录的类型。

    本函数的结果会被缓存。请使用 clearstatcache() 来清除缓存。

    $path = __FILE__;
    var_dump(filetype($path));

    输出:string(4) "file",表示文件

    $path = __FILE__;
    var_dump(filetype(dirname($path)));

    输出:string(3) "dir",表示文件夹

    5.fstat() 函数返回关于打开文件的信息。

    $path = __FILE__;
    // 打开文件
    $fp = fopen($path, "r");

    // 'r'表示只读方式打开,将文件指针指向文件头。

    // 'r+'表示读写方式打开,将文件指针指向文件头。

    // 'w'表示写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。

    // 'w+'表示读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。

    // 'a'表示写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。

    // 'a+'表示读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。

    // 取得统计信息
    $fstat = fstat($fp);
    // 关闭文件    如果成功则返回 true,否则返回 false。
    fclose($fp);
    // 只显示关联数组部分
    var_dump(array_slice($fstat,13));

    输出:array(13) { ["dev"]=> int(0) ["ino"]=> int(0) ["mode"]=> int(33206) ["nlink"]=> int(1) ["uid"]=> int(0) ["gid"]=> int(0) ["rdev"]=> int(0) ["size"]=> int(220) ["atime"]=> int(1514203676) ["mtime"]=> int(1514879951) ["ctime"]=> int(1514203676) ["blksize"]=> int(-1) ["blocks"]=> int(-1) }

     

    6.filesize() 函数返回指定文件的大小。

    若成功,则返回文件大小的字节数。若失败,则返回 false 并生成一条 E_WARNING 级的错误。

    $filename = __FILE__;
    echo $filename . ': ' . filesize($filename) . ' bytes';

    输出:D:phpStudyWWW2.php: 133 bytes

    7.disk_total_space() 函数返回指定目录的磁盘总大小。参数是一个目录的字符串。该函数将根据相应的文件系统或磁盘分区返回所有的字节数。

    var_dump(disk_total_space('C:')); 

    输出:float(123214659584)   表示C盘的大小

    8.fileatime() 函数返回指定文件的上次访问时间。

    $file=__FILE__;
    echo fileatime($file);

    输出:1514203676 时间戳

    实例:递归实现文件删除

    //传入目录路径
    private function _deleteDir($R)
    {
    //打开文件目录 然后读取其内容
    $handle = opendir($R);
    //便利文件目录 并判断目录是否存在
    while (($item = readdir($handle)) !== false) {
    //判断目录结构
    if ($item != '.' and $item != '..') {
    //判断当前的文件是目录还是文件
    if (is_dir($R . '/' . $item)) {
    //如果是目录再次 调用自己继续便利
    $this->_deleteDir($R . '/' . $item);
    } else {
    //删除文件
    if (!unlink($R . '/' . $item))
    die('error!');
    }
    }
    }
    //closedir() 函数关闭目录
    closedir($handle);
    //rmdir函数删除空的目录。成功返回true
    return rmdir($R);
    }

     

     

    实现读取文件夹下文件的大小

    header('content-type:text/html;charset=utf8');

    $path=".";//.是当前目录,你可以换成自己的目录地址
    foreach(scandir($path) as $v){
    if(!is_dir($v)){//如果不是目录,就是文件了
    $size=filesize($v);
    echo "文件:".$v." 大小:".byte_format($size)."";//单位是kb
    }
    }

    //格式化函数
    function byte_format($size, $dec=2){
    $a = array("B", "KB", "MB", "GB", "TB", "PB");
    $pos = 0;
    while ($size >= 1024) {
    $size /= 1024;
    $pos++;
    }
    return round($size,$dec)." ".$a[$pos];
    }

  • 相关阅读:
    【力扣】767. 重构字符串
    【力扣】976. 三角形的最大周长
    【力扣】164. 最大间距
    【力扣】454. 四数相加 II
    JS中,输出1-10之间的随机整数
    web移动端浮层滚动阻止window窗体滚动JS/CSS处理
    禁止网站F12和查看源码
    苹果浏览器移动端click事件延迟300ms的原因以及解决办法
    jQuery下锚点的平滑跳转
    js实现placehoider效果
  • 原文地址:https://www.cnblogs.com/songbo236589/p/8178343.html
Copyright © 2011-2022 走看看