Bellow there is a PHP code to make multiple directories inside the current directory.
I need to terminate the script in case the directories already exist.
But instead, I get multiple "file exists" warning messages.
Code
<?php
//Creates multiple directories inside the current directory.
$curdir = getcwd();
$slash = "/0";
for ($dir = 1; $dir <= 12; $dir++){
$concat = $slash . $dir;
if (!file_exists($concat)) {
mkdir($curdir . "$concat" , 0777);
} else {
exit("Files already exist.");
}
}
?>
Output
Warning: mkdir(): File exists in /opt/lampp/htdocs/SQL/mkdir.php on line 14
Warning: mkdir(): File exists in /opt/lampp/htdocs/SQL/mkdir.php on line 14
Warning: mkdir(): File exists in /opt/lampp/htdocs/SQL/mkdir.php on line 14
Warning: mkdir(): File exists in /opt/lampp/htdocs/SQL/mkdir.php on line 14
Warning: mkdir(): File exists in /opt/lampp/htdocs/SQL/mkdir.php on line 14
Warning: mkdir(): File exists in /opt/lampp/htdocs/SQL/mkdir.php on line 14
Warning: mkdir(): File exists in /opt/lampp/htdocs/SQL/mkdir.php on line 14
Warning: mkdir(): File exists in /opt/lampp/htdocs/SQL/mkdir.php on line 14
Warning: mkdir(): File exists in /opt/lampp/htdocs/SQL/mkdir.php on line 14
Warning: mkdir(): File exists in /opt/lampp/htdocs/SQL/mkdir.php on line 14
Warning: mkdir(): File exists in /opt/lampp/htdocs/SQL/mkdir.php on line 14
Warning: mkdir(): File exists in /opt/lampp/htdocs/SQL/mkdir.php on line 14
You have to edit your if statement. You are checking a different directory than what you were creating:
<?php
$curdir = getcwd();
$slash = "/0";
for ($dir = 1; $dir <= 12; $dir++){
$concat = $slash . $dir;
if (!file_exists($curdir . $concat)) {
mkdir($curdir . $concat , 0777);
} else {
exit("Files already exist.");
}
}