English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
PHP针对目录的创建,有一个专门的函数mkdir():成功,返回true,失败,返回false
函数mkdir有四个参数:
path:要创建的目录的名称
mode:权限。默认是0777(最大权限)
recursive:设置是否可以创建多级目录(true:可,false:不可)
context:文件句柄的环境。context是可修改流的行为的一套选项(很少用到)
下面给大家介绍php创建多级目录的两种方法,具体详情如下所示:
1使用递归的思想
function mkdirs_2($path){ if(!is_dir($path)){ mkdirs_2(dirname($path)); if(!mkdir($path, 0777)){ return false; } } return true; } /* http://www.manongjc.com/article/1331.html */ $path2 = 'sdfs/sds/sds/s/s/sss'; var_dump(mkdirs_2($path2)); //true;
1思想主要是利用了递归,先创建dir,再创建dir/css 、作成中...}
2.再帰はスタックにpushするプロセスです、したがってまず,dir/css/js/php/ok、スタックにpushすると、最後にpopされます...他のことは言いません。
3.dirname(path)が返すのは、pathの最後のディレクトリを除いた値です、つまり最初に返されるのは: dir/css/js/php,,,2回目にdirを返します/css/js,,,最後は ./
2.直接にmkdir()を使って作成します、第3引数はtrueにしないと自動的に多層ディレクトリを作成できません
function mkdirs_1($path, $mode = 0777) if(is_dir($path)){ return '作成不可、既にディレクトリです'; }else{ if(mkdir($path, $mode, true)) { return '作成成功'; }else{ return '作成失敗'; } } } /* http://www.manongjc.com/article/1332.html */ $path1 = 'a/b/c/d/e'; var_dump(mkdirs_1($path1)); //文字列 '作成成功' (length=12)
以上は、編集者が皆さんに紹介したPHPで多層ディレクトリを作成する2つの方法です。皆さんの助けになることを願っています。何か疑問があれば、コメント欄にお気軽にどうぞ。編集者は皆さんの質問に即座に回答します。このサイトに対する皆さんのサポートにも感謝しています!
声明:この記事の内容はインターネットから収集され、著作権者に帰属します。コンテンツはインターネットユーザーにより自発的に貢献され、アップロードされました。このウェブサイトは所有権を持ちません。人間による編集は行われていません。また、関連する法的責任を負いません。著作権に問題があると感じた場合は、メールで:notice#w までお知らせください。3codebox.com(メールを送信する際には、#を@に置き換えてください。報告を行い、関連する証拠を提供してください。一旦確認が取れた場合は、このサイトは即座に侵害される可能性のある内容を削除します。)