首页 > Web开发 > 详细

php高效遍历文件夹、高效读取文件

时间:2017-08-16 20:58:45      阅读:280      评论:0      收藏:0      [点我收藏+]
/**
 * PHP高效遍历文件夹
 * @param string $path 目录路径
 * @param integer $level 目录深度
 */
function fn_scandir($path = ‘./‘, $level = 0) {
    $file = new FilesystemIterator($path);
    $filename = ‘‘;
    $prefix = ‘‘;
    $url = ‘‘;
    foreach ($file as $fileinfo) {
        $filename = $fileinfo->getFilename();
        $filepath = $path . $filename;
        $prefix = $level > 0 ? (‘|‘ . str_repeat(‘--‘, $level)) : ‘‘;
        if ($fileinfo->isDir()) {
            $filepath = $filepath . ‘/‘;
            $url = ‘<a href="?path=‘ . $filepath . ‘">‘ . $filename . ‘</a>‘;
            echo ‘<strong>‘ . $prefix . $url . ‘/</strong>‘ . ‘<br />‘;
        } else {
            $url = ‘<a href="?path=‘ . $filepath . ‘">‘ . $filename . ‘</a>‘;
            echo $prefix . $url . ‘<br />‘;
        }
        if ($fileinfo->isDir()) {
            fn_scandir($filepath, $level + 1);
        }
    }
}

/**
 * PHP高效读取文件
 * @param string $filepath
 * @return string
 */
function fn_tail($filepath) {
    if (file_exists($filepath)) {
        $fp = fopen($filepath, "r");
        $str = "";
        $buffer = 1024; //每次读取 1024 字节
        while (!feof($fp)) {//循环读取,直至读取完整个文件
            $str .= fread($fp, $buffer);
        }
        return $str;
    }
}

 

示例文件:[下载]

版权声明:本文采用署名-非商业性使用-相同方式共享(CC BY-NC-SA 3.0 CN)国际许可协议进行许可,转载请注明作者及出处。
本文标题:php高效遍历文件夹、高效读取文件
本文链接:http://www.cnblogs.com/sochishun/p/7375328.html
本文作者:SoChishun (邮箱:14507247#qq.com | 博客:http://www.cnblogs.com/sochishun/)
发表日期:2017年8月16日

php高效遍历文件夹、高效读取文件

原文:http://www.cnblogs.com/sochishun/p/7375328.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!