根据相对目录来创建目录

作者:enenba | 发表于:2012-01-16 23:06 | 分类:php源码

     上次说到自动创建目录,因为父目录如果不存在就不能被创建,于是又找了两个函数,这两个函数就比较有用了,根据相对目录创建目录,即使父目录不存在也能够成功创建。

 函数1:

<?php
function createFolder($path){
	$t = split('/',$path);
	for($i=1;$i<count($t);$i++){
		$p = join('/',array_slice($t,0,$i+1));
		if(!file_exists($p)){
			mkdir($p,0777);
		}else{
			die('无法建立'.$p);
		}
	}
}
$path = '../OK/no';
createFolder($path);
?>

 

 

===============================

函数2:

 

<?php
function _createDir($htmlDirPath=''){
	if(!is_dir($htmlDirPath)){
		$temp = explode('/',$htmlDirPath);
		$cur_dir = '';
		for($i=0;$i<count($temp);$i++){
			$cur_dir.=$temp[$i] . '/';
			if(!is_dir($cur_dir)){
				mkdir($cur_dir,0777);
			}
		}
	}
}
$path = '../okok/is';
_createDir($path);
?>

 

都能根据相对目录来创建目录,这回我的采集计划有了一大步进展了!!

 

注意了!!从PHP5开始,系统自带的mkdir()函数已经可以实现了以上的功能,用法非常的简单!!!

用法:

bool mkdir ( string $pathname [, int $mode [, bool $recursive [, resource $context ]]] )

也就是加入了第三个参数:recursive

当第三个参数设为TURE时,这些目录的创建只要一句就可以完成了。呵呵……

上例子:

<?php
$path = '../test1/test2';
if(!file_exists($path)) {
	mkdir($path, 0777, true);
}
?>

 

 

end

上一篇: PHP下载CSS文件中的图片   |   下一篇:php自动创建文件夹» 标签: php源码 php函数 创建目录

评论: