Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP mkdir();不起作用_Php_Directory_Mkdir - Fatal编程技术网

PHP mkdir();不起作用

PHP mkdir();不起作用,php,directory,mkdir,Php,Directory,Mkdir,我一直在尝试Mkdir函数,它将在我正在进行的项目中非常有用。我已经尝试了最简单的代码,但我无法让它创建我想要的文件夹 我尝试更改文件夹权限,但没有更改(也没有更改755或777),代码不断返回失败 请看一下我的代码: <?php if(!mkdir($_SERVER['DOCUMENT_ROOT'].'/uploads/2017', 0777, true)) { echo("echec"); } chmod($_SERVER['DOCUMENT_ROOT

我一直在尝试Mkdir函数,它将在我正在进行的项目中非常有用。我已经尝试了最简单的代码,但我无法让它创建我想要的文件夹

我尝试更改文件夹权限,但没有更改(也没有更改755或777),代码不断返回失败

请看一下我的代码:

<?php 
if(!mkdir($_SERVER['DOCUMENT_ROOT'].'/uploads/2017', 0777, true))
    {
        echo("echec");
    }
chmod($_SERVER['DOCUMENT_ROOT'].'/uploads/2017', 0777);
?>

父文件夹为“admin”,其权限设置为755

你知道为什么这不起作用吗

编辑:我重新制作了它,它成功了,不知道问题出在哪里

示例#1示例

示例#1示例

代码

mkdir('/2017', 0777, true)
创建文件夹
2017
是文件系统的根文件夹

始终设置文件夹的完整路径,例如:

mkdir($_SERVER['DOCUMENT_ROOT'] . '/2017', 0777, true);
// or
mkdir('/var/www/mysite/2017', 0777, true);
或者使用
定义正确的位置:

// folder will be created in a same directory 
// as a script which executes this code
mkdir('./2017', 0777, true);

// folder will be created in a directory up one level
// than a script which executes this code
mkdir('../2017', 0777, true);
因此,在你的情况下,很明显:

mkdir($_SERVER['DOCUMENT_ROOT'] . '/admin/2017', 0777, true);
代码

创建文件夹
2017
是文件系统的根文件夹

始终设置文件夹的完整路径,例如:

mkdir($_SERVER['DOCUMENT_ROOT'] . '/2017', 0777, true);
// or
mkdir('/var/www/mysite/2017', 0777, true);
或者使用
定义正确的位置:

// folder will be created in a same directory 
// as a script which executes this code
mkdir('./2017', 0777, true);

// folder will be created in a directory up one level
// than a script which executes this code
mkdir('../2017', 0777, true);
因此,在你的情况下,很明显:

mkdir($_SERVER['DOCUMENT_ROOT'] . '/admin/2017', 0777, true);

尝试使用
mkdir('2017'
或文件夹的绝对路径
mkdir('/2017')
在文件系统的根目录中创建文件夹(其中
/etc
/usr
和其他内容)。显然,您的用户没有足够的权限来执行此操作。您的Web服务器可能没有在您试图实现的目标的正确权限组中运行。@SCUZY有什么方法可以更改吗?您可以尝试使用函数使目录使用
mkdir('2017'
或文件夹的绝对路径
mkdir('/2017'))
在文件系统的根目录中创建文件夹(其中
/etc
/usr
和其他内容)。显然,您的用户没有足够的权限来执行此操作。您的Web服务器可能没有在正确的权限组中运行,无法实现您要实现的目标。@SCUZY有什么方法可以更改吗?您可以尝试使用函数来创建目录,而什么?
/2017
不是指向目录的
路径?什么?
/2017
不是a
path to dir
?使用新代码编辑您的问题,回显您传递到
mkdir
的路径。仅用于书本。确保第二个参数是
0777
,而不是
'0777'
。必须是整数而不是字符串。使用新代码编辑您的问题,回显您传递到
mkdir
的路径。仅用于书本。M确保第二个参数是
0777
,而不是
'0777'
。必须是整数而不是字符串。