• 技术文章 >php教程 >php手册

    PHP面试题之文件目录操作

    2016-06-06 19:41:14原创853

    本篇文章是我在之前面试这家公司时遇到的问题,当时代码写的不全,后来通过查阅相关资料,整理出来的一份分享给大家

    这道题其实并不难,考点主要在函数substr() strrchr() array_pop() strrpos() strpos() strrev() explode() pathinfo()。

    废话不多说了,直接给大家贴代码了。

    获取文件后缀,遍历目录层次

    /** * 5种方式获取文件后缀名 * 这道题其实就是考函数substr() strrchr() array_pop() strrpos() strpos() strrev() explode() pathinfo() * @param string $filename 要处理的文件名 1.jpg/1.png/1.html/1.php * @return string .php/php */ function get_ext1($filename) { return strrchr($filename,'.'); } function get_ext2($filename){ return substr($filename,strrpos($filename,'.')); } function get_ext3($filename){ return array_pop(explode('.',$filename)); } function get_ext4($filename){ return pathinfo($filename,PATHINFO_EXTENSION); } function get_ext5($filename){ return strrev(substr(strrev($filename),0,strpos(strrev($filename),'.'))); } $filename = "1.php"; echo get_ext1($filename)."\n"; echo get_ext2($filename)."\n"; echo get_ext3($filename)."\n"; echo get_ext4($filename)."\n"; echo get_ext5($filename)."\n"; /** * 遍历目录(递归) * @param string $dir 目录名且最后没有/ * @return array $files 整个目录结构 */ function myScandir($dir) { $files = array(); if($handle = opendir($dir)){ while (($file = readdir($handle)) != false){ if($file != "." && $file != ".."){ $newDir = $dir."http://www.jb51.net/".$file; if(is_dir($newDir)){ $files[$file] = myScandir($newDir); }else{ $files[] = $file; } } } closedir($handle); return $files; } } $dir = "/dirname"; print_r(myScandir($dir));

    以上代码是不是很简单啊,就这几个函数,函数掌握了,这道题就很容易的解决了,,希望本文分享对大家有所帮助。

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:解决PHP里大量数据循环时内存耗尽的方法 下一篇:php批量删除超链接的实现方法

    相关文章推荐

    • PHP autoload与include性能比较• 网站图像防盗----Apache配置妙法• 基于Windows环境下的PHP开发环境搭建• PHP实现定时生成HTML网站首页• php 调用 java类 常见配置错误

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网