php:在表单提交上创建目录?

php:在表单提交上创建目录?,php,mkdir,Php,Mkdir,我想知道我做错了什么。我在路径中,我想在路径中创建一个文件夹。我想检查文件夹是否已经存在,如果不存在,请创建一个。从名为“dirname”的输入字段中获取文件夹的名称 您可以使用。最好确保您正在处理的目录确实是一个目录。这个代码可以工作。。。请随意编辑 define("PATH", "/home/born05/htdocs/swish_s/Swish"); $test = "set"; $_POST["dirname"] = "test"; if (isset($test)) { //

我想知道我做错了什么。我在路径中,我想在路径中创建一个文件夹。我想检查文件夹是否已经存在,如果不存在,请创建一个。从名为“dirname”的输入字段中获取文件夹的名称


您可以使用。

最好确保您正在处理的目录确实是一个目录。这个代码可以工作。。。请随意编辑

define("PATH", "/home/born05/htdocs/swish_s/Swish");

$test = "set";
$_POST["dirname"] = "test";


if (isset($test)) {
  //get value of inputfield
  $dir = $_POST['dirname'];
  //set the target path ??

$targetfilename = PATH . '/' . $dir;

if (!is_file($dir) && !is_dir($dir)) {
    mkdir($dir); //create the directory
    chmod($targetfilename, 0777); //make it writable
}
else
{
    echo "{$dir} exists and is a valid dir";
}
祝你好运 编辑:注释是一个很好的提示;)

您必须使用

!is_dir($dir)
而不是

!file_exists($dir)
它不是一个文件,它是一个目录


祝你好运

@codeworxx文件\u存在也可用于检查目录


如果在运行is_dir时有一个名为$dir的文件,它将返回false,因为它不是dir,但是后续的mkdir将失败,因为该文件已经存在。最好使用file_exists。我告诉你一堆安全蠕虫……可以,但如果没有扩展名,文件也可以伪装成目录。因此,对于文件_exists,它将返回true;对于is_dir,它将返回false。)
!file_exists($dir)