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