怎么用PHP创建目录和子目录?
?php
header("Content-type:text/html;charset=utf-8");
//设置要创建的目录(可设置多级)
$path="baidu/zhidao";
//首先判断目知戚大录存在否
if 搭竖(is_dir($path)){
echo "抱歉,目录 " . $path . " 已存在!";
}else{
//第3个参数“true”意思是能创建多级仔租目录,iconv防止中文目录乱码
$res=mkdir(iconv("UTF-8", "GBK", $path),0777,true);
if ($res){
echo "$path 创建成功";
}else{
echo "$path 创建失败";
}
}
?
php创建目录的方法?
mkdir
(PHP 4, PHP 5, PHP 7)
mkdir — 新建目录
1.说明
mkdir ( string $pathname [, int $mode = 0777 [, bool $recursive = FALSE [, resource $context ]]] ) : bool
尝试新建一个由 pathname 指定丛兆顷的目录。
2.参数
pathname
目录的路径。
mode
默认的 mode 是 0777,意味着最大可能的访问渗陆权。有关 mode 的更多信息猜郑请阅读 chmod() 页面。
Note:
mode 在 Windows 下被忽略。
注意也许想用八进制数指定模式,也就是说该数应以零打头。模式也会被当前的 umask 修改,可以用 umask() 来改变。
recursive
允许递归创建由 pathname 所指定的多级嵌套目录。
context
Note: 在 PHP 5.0.0 中增加了对上下文(Context)的支持。有关上下文(Context)的说明参见 Streams。
3.返回值
成功时返回 TRUE, 或者在失败时返回 FALSE。
4.范例如下图
5.错误/异常
目录已存在时,产生 E_WARNING错误。
如果因为权限问题无法创建目录,导致 E_WARNING错误。
php中mkdir函数可以创建多级目录吗
可以的肆老,使用第三个参数就好,例子如下祥逗:
mkdir("c:/a/b/c",0777,true);
C盘下裂宴升面创建a/b/c文件夹,并赋予0777的权限
php中,用mkdir创建多级目录,它是碰到路径中不存在的文件夹才创建,还是将整条路径上的文件夹都创建出来
mkdir()
碰到路径中不存在的文件夹才创基敬链建,
一次只能创建一层稿橡目录,
如果目录存在或一次创建搏孙多层目录都会提示错误信息
如何运用php函数mkdir创建多级目录
下面是我从网上整理的资料,会为大家详细介绍php函数mkdir的具体含义,希望对有这方面需求的朋友有所帮助。探讨应当伏橡如何提高PHP递归效率 PHP类搜索定位目录树的具体实现方式解析 PHP语言缺陷的具体分析 PHP递归返回值时出现的问题解决办法分享 PHP递归调用的小技巧讲解 php函数mkdir参数与描述 path 必需。规定要创建的目录的名称。mode 必需。规定权限。默认是 0777。recursive 必需。规定是否设置递归模式。context 必需。规定文件句柄的环境。Context 是可修改流的行为的一套选项。说明php函数mkdir 尝试新建一个由 path 指定的目录。默认的 mode 是 0777,意味着最大可能的访问权。php默认的mkdir一次只能创建一层目录,如果在当前目录下创建一个div/css/layout 的目录就需要逐层逐层的先创建div,再创建div/css 再创建 div/css/layout,然而我们希望能让程序自动帮我们完成这败念个过程。其实思路也很简单,1.先判断 div目录是否存在,不存在则创建;2.判断子目录 div/css 是否存在,不能存在则创建,3.在第二步中以子目录作为参数递归调用函数本身。也可以按相反顺序来,1.先判断最底层目录div/css/layout是否存在;2.判断div/css/layout的上层目录div/css是否存在,不存在则以div/css作为参数递归进行。。下面是php函数mkdir的程序代码:?function mkdirs($dir){if(!is_dir($dir)){if(!mkdirs(dirname($dir))){ return false;}if(!mkdir($dir,0777)){return false;}}return true;}mkdirs('div/css/layout'); //同样的思路,php用察厅困rmdir和unlink递归删除多级目录的代码:function rmdirs($dir){ $d = dir($dir);while (false !== ($child = $d-read())){ if(is_dir($dir.'/'.$child)) rmdirs($dir.'/'.$child); else unlink($dir.'/'.$child);}} $d-close(); rmdir($dir);}?
如何用php创建与删除多级目录函数
判断文件或文件夹存在的函数是file_exists(),而你的mkdir("目录名")这个是创建文件夹的,还有你的创建函数fopen,如果脊悔要想创建成功必要要有写的权樱漏正限,我在测试的时候只用读的搜余权限就不行!删除文件夹用rmdir(),删除文件用unlink("文件名路径"),下面是我写的代码,可以进行参考:
$dir = "abc.txt";
$root_dir = str_replace("fopen.php","",__FILE__);
$filedir=$root_dir.$dir;
if(!file_exists($filedir))
{
fopen($filedir,w);
}else
{
echo "文件已存在";
}
if(file_exists($filedir))
{
unlink($filedir);
if(!file_exists($filedir))
{
echo "删除成功";
}else
{
echo "删除失败";
}
}else
{
echo "文件已删除或者尚未创建";
}