掌握文件系统操作:安全创建与删除文件夹
今天没什么事情,就写了个小东西学习学习,递归创建文件夹,和删除指定文件下的所有东西包括文件本身。因为有的时候我们做文件上传是需要创建文件夹的。而且有的时候我们也会用到文件夹的删除操作,文件的删除很简单,用unlink指定路径就可以了。做这个东西的时候,我发现mkdir里面如果用mkdir('\/aa\/')会在磁盘的顶级目录创建文件夹aa,这样是不是有点危险,因为程序的安装都是在磁盘下的某个目录下,这样的话就超出了程序的范围。
-
- function creartDir($dir='') {
- //以/来分割路径
- $dir = trim($dir,'/');
- $dir = explode('/',$dir);
- if(!$dir) {
- return false;
- }
- $ndir = '';
- foreach($dir as $key => $val) {
- $ndir .= $val;
- if(!is_dir($ndir)) {
- mkdir($ndir);
- }
- $ndir .= '/';
- }
- }
- // 删除文件下的所有文件和文件夹
- function deldir($dir) {
- $dh = opendir($dir);
- while ($file = readdir($dh)) {
- if($file != "." && $file != "..") {
- $fullpath = $dir . "/" . $file;
- if(!is_dir($fullpath)) {
- unlink($fullpath);
- } else {
- deldir($fullpath);
- }
- }
- }
- closedir($dh);
- if(rmdir($dir)) {
- return true;
- } else {
- return false;
- }
- }
复制代码
请注意,原文中并没有明确的副标题标签或样式,因此没有内容被加粗。如果您有具体的副标题文本或样式指示,请提供进一步的信息。 |