/** * 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日 |
时间: 2024-10-12 15:34:55