在写PHP网站后台程序时,会遇到上传图片或者其他类型的文件到网站上,为了更好的便于以后对这些文件进行更好的管理,通常会对根据这些文件的类型或者上传时间来将它们存放到网站的不同目录下,举个例子,今天(2019-11-28)上传的文件需要存放到20191128这个文件夹目录下时,而这个文件目录现在还不存在,怎么办?我们就得先创建20191128这样一个目录。
这就是今天给大家分享的PHP循环生成目录的方法:
<?php function createFolder($dir, $split = '/') { preg_match_all('/([^\/]+)\/?/', str_replace('\\', '/', trim($dir)), $matches); if (!empty($matches[1])) { $dir = '.'; $i = 0; $len = count($matches[1]); while (true) { if ($i >= $len) break; $dir .= $split . $matches[1][$i]; if (!is_dir($dir) && mkdir($dir, 0777)) @chmod($dir, 0777); $i++; } } return true; } createFolder("upfile/20191128");//实例 ?>
这个方法用到了正则提取各目录名,然后遍历各目录名组成的路径,再判断路径是否存在,不存在就会创建,这样就可以达到我们想要的PHP遍历创建生成文件夹了。