php的mkdir
『壹』 php 中的mkdir问题
file_exist()函数用来判断文件或者文件夹是否存在,存在返回true,不存在返回false
mkdir()创建一个指定的文件目录,成功返回true,失败返回false
这段代码的意思是,首先判断$destination_folder目录是否存在,如果不存在,则创建该目录
『贰』 php mkdir创建文件错误
你加几行代码
检测文件名是否已经存在
如果存在就不再新建了
这样就可以了
-----------
建议你学习下mkdir的用法
定义和用法
mkdir() 函数创建目录。
若成功,则返回 true,否则返回 false。
语法
mkdir(path,mode,recursive,context)
参数
描述
path 必需。规定要创建的目录的名称。
mode 必需。规定权限。默认是 0777。
recursive 必需。规定是否设置递归模式。
context 必需。规定文件句柄的环境。Context 是可修改流的行为的一套选项。
说明
mkdir() 尝试新建一个由 path 指定的目录。
默认的 mode 是 0777,意味着最大可能的访问权。
『叁』 PHP如何创建文件夹(mkdir的用法,mkdir的语法)
先我抄一段手册上的有关mkdir的描述,如下:说明bool mkdir ( string pathname [, int mode [, bool recursive [, resource context]]] ) 尝试新建一个由 pathname 指定的目录。 注意也许想用八进制数指定模式,也就是说该数应以零打头。模式也会被当前的 umask 修改,可以用 umask() 来改变。 注意: mode 在 Windows 下被忽略。自 PHP 4.2.0 起成为可选项。 默认的 mode 是 0777,意味着最大可能的访问权。有关 mode 的更多信息请阅读 chmod() 页面。 例1. mkdir() 例子<?php mkdir("/path/to/my/dir", 0700); > 如果成功则返回 TRUE,失败则返回 FALSE。 注意: 自 PHP 5.0.0 rmdir() 也可用于某些 URL 封装协议。参见附录N 的列表看看 rmdir() 支持哪些 URL 封装协议。 注意: 对 context 的支持是 PHP 5.0.0 添加的。有关 context 的说明见参考CLX, Stream Functions。注意: recursive 参数是 PHP 5.0.0 添加的。 注意: 当安全模式被激活时,PHP 将检查被操作的目录是否和正在执行的脚本有相同的 UID(所有者)。以上是PHP5手册上的描述信息,即你可以这样:mkdir('./test',0777)就能创建一个文件夹了。但是如何递归创建多级目录呢?其方式有: 1 PHP5 下创建目录函数 mkdir 增加了一个新的参数 recursive ,通过设置 recursive 为 true 可以实现递归创建目录的目的,但是对PHP4就不行了。 2 自己写一个递归创建多级目录。这里,我对第二种方式作一点说明,也有两种方式,如下:第一种(用mkdirs来产生多级父级)function mkdirs($dir, $mode = 0777) { if (is_dir($dir) || @mkdir($dir, $mode)) return TRUE; if (!mkdirs(dirname($dir), $mode)) return FALSE; return @mkdir($dir, $mode); }说明: 1 首先 简单说一下mkdir()与mkdirs()的区别,以及,is_dir和dirname(): mkdir() 只能在已经存在的目录中创建创建文件夹(即父级必须有才行)。 mkdirs() 可以在不存在的目录中创建文件夹。诸如:a//b,既可以创建多级目录。 dirname()是返回路径中的目录部分。 is_dir()用于判断给出的文件名是否是一个有效的目录 2 大致流程为:(1) 先用is_dir判断是否已是一个文件夹,如果是则返回TRUE。如没有(或者不是文件夹),则试着创建它,当然有可以父级不存在,那mkdir直接就创不成功,但也为不报错,所以就用@来抑止报非致命错误。 (2)如果传参数都不满足条件,那么就进入第二个if语句,先是取得路径中的目录部分,当然有可能是不存在的多级父级,所以用了mkdirs()来先创建父级,如果成功(不成功返回FALSE),那么再用mkdir来创建最终的目录了。好了,以上就是第一种方案。
『肆』 php的mkdir怎么才可以在windows下创建中文目录 - PHP进阶讨论
这里有两种情况,通常我们的PHP脚本文件要么是Unicode(utf8)或者是ANSI(gbk)。gbk兼容gb2312。
如果是Unicode编码(utf8),代码里的中文和系统是两种不同的编码,与系统打交道时,如创建中文名称的文件、文件夹等,需要转换编码。
如果是ANSI编码(gbk、gb2312),代码里的中文和系统是系统的编码,不需要转换编码。
// 1、php脚本文件是Unicode编码,系统是中文系统
$dirname="temp/中文目录";
// 通过iconv进行编码转换即可
if(mkdir(iconv('utf-8', 'gbk', $dirname)))
echo "创建成功";
else
echo "创建失败";
// 2、php脚本文件是ANSI编码,系统是中文系统
$dirname="temp/中文目录";
// 不需要转换编码
if(mkdir($dirname))
echo "创建成功";
else
echo "创建失败";
请选择合适的代码片段进行测试,如果你是utf8的话,就选择代码里的第一部分。
『伍』 php怎么自定义mkdir创建目录
PHP中,mkdir函数的功能是创建目录。如果想自定义,或者个性化设计创建目录,可以将该函数封装到方法中,然后调用方法来创建目录。具体操作步骤如下:
自定义,创建目录方法;
/**
*自定义目录创建方法
*@paramString$path目录路径
*@paramboolean$level多级目录(true:是;false:否)
*@paramboolean$cn目录名称是否存在中文(true:是;false:否)
*@returnboolean
*/
functioncreate_dir($path,$level=false,$cn=false){
//首先判断是否存在该目录
if(is_dir($path)){
returnfalse;
}
//判断判断要创建的目录是否存在中文
if($cn){
$path=mb_convert_encoding($path,"GBK","UTF-8");
$result=mkdir($path,0777,$level);
}else{
$result=mkdir($path,0777,$level);
}
if($result){
returntrue;
}else{
returnfalse;
}
}
2.调用方法测试:
<?php
header("Content-type:text/html;charset=utf-8;");
$path="chinawinxp/web/php编程示例";
$is=create_dir($path,true,true);
if($is){
echo"目录创建成功!";
}else{
echo"目录创建失败,或者目录已存在!";
}
运行结果:
『陆』 PHP mkdir之后的文件夹的所有者的问题。
更改apache配置文件
#
# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.
#
# User/Group: The name (or #number) of the user/group to run httpd as.
# It is usually good practice to create a dedicated user and group for
# running httpd, as with most system services.
#
User ftp_6kbbs
Group ftp
『柒』 php中mkdir函数可以创建多级目录吗
可以的,使用第三个参数就好,例子如下:
mkdir("c:/a/b/c",0777,true);
C盘下面创建a/b/c文件夹,并赋予0777的权限
『捌』 PHP中的mkdir
0700的含义:
一般我们只看后面三位数,编码为:IGO,本例子的0700分别代表本人的权限I=7,组员的权限G=0,其它人的权限O=0
0表示没有任何权限,每一个权限有下面的三个数相加:
R=4查看权限
W=2修改权限
X=1运行权限,对于目录是进入的权限
本例子中本人权限为7表示本人拥有一切权限。
『玖』 PHP函数mkdir()前面加上个@成为@mkdir()请问是什么意思
@意思是压制错误提示,使其无错误提示
@mkdir. 代表执行mkdir时不会返回或弹出错误提示
好的代码,任何情况下都“不要写”这个@号去压制错误提示。