ホームページ >バックエンド開発 >PHPチュートリアル >「PHP - ディレクトリ情報のカスタマイズされた作成方法」 - ディレクトリがすでに存在する場合、作成を続行するにはディレクトリが空である必要があります。

「PHP - ディレクトリ情報のカスタマイズされた作成方法」 - ディレクトリがすでに存在する場合、作成を続行するにはディレクトリが空である必要があります。

WBOY
WBOYオリジナル
2016-06-13 13:09:511061ブラウズ

「PHP --- ディレクトリ ファイルのカスタム作成方法」---- ディレクトリがすでに存在する場合、作成を続行するにはディレクトリが空である必要があります

バグ:

ディレクトリがすでに存在する場合、作成を続行するにはディレクトリが空である必要があります

<?php

	/*
	定义的path目录
	$path = "C:/aaa/bbb/ccc/ddd/eee";
	调用makeDir函数自动生成目录
	makeDir($path);
	$path = "C:/aaa/bbb/ccc/ddd/eee.txt";
	调用makeDir函数自动生成目录在ddd目录下有一eee.txt的文件
	makeDir($path,true);
	参数说明:
		$path需要生成的路径,前面什么都不加默认生成在本目录下
		例如:/aaa/bbb/ccc/ddd/eee
		$hasfile是否生成文件,非零为生成文件
		文件名在path中包含。
	*/	

	function makeDir($path, $hasfile){
		//标记是否生成最后的文件,控制循环的次数
		$falg = 0;
		if ($hasfile){
			$falg = 1;
		}
		
		//将path按'/'分割
		$dirs = split('/', $path);

		$dircount = count($dirs);
		$makedir = $dirs[0];
		for ($i = 1; $i < $dircount - $falg; $i++){
			//判断生成目录的位置
			if (!strcmp($makedir,"")){
				$makedir = ".";
			}
			//目录名称
			$makedir = $makedir."/".$dirs[$i];
			//判断是否已含有本目录
			if (is_dir($makedir)){
				echo $makedir."目录已存在<br/>";
				continue;
			}
			//创建目录
			if (mkdir($makedir)){
				echo $makedir."--目录创建成功<br/>";
			}
		}
		
		//创建文件
		if ($hasfile){
			$filename = $makedir."/".$dirs[$dircount-1];
			//判断文件是否存在
			if (!is_file($filename)){
				if (touch($filename)){
					echo "文件创建成功<br/>";
				}
				}else{
					echo "文件已存在<br/>";
				}
		}
?>


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。