发布于 2016-01-16 23:23:28 | 223 次阅读 | 评论: 0 | 来源: 网友投递
PHP开源脚本语言
PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,入门门槛较低,易于学习,使用广泛,主要适用于Web开发领域。PHP的文件后缀名为php。
本篇文章是我在之前面试这家公司时遇到的问题,当时代码写的不全,后来通过查阅相关资料,整理出来的一份分享给大家
这道题其实并不难,考点主要在函数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."/".$file; if(is_dir($newDir)){ $files[$file] = myScandir($newDir); }else{ $files[] = $file; } } } closedir($handle); return $files; } } $dir = "/dirname"; print_r(myScandir($dir));
以上代码是不是很简单啊,就这几个函数,函数掌握了,这道题就很容易的解决了,希望本文分享对大家有所帮助。