Как выйти из скрипта, если каталоги уже существуют? - PullRequest
0 голосов
/ 17 февраля 2020

Ниже приведен код PHP для создания нескольких каталогов внутри текущего каталога.
Мне нужно завершить сценарий в случае, если каталоги уже существуют.
Но вместо этого я получаю несколько предупреждений «файл существует» Сообщения.

Код

<?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.");

      }

} 

?>

Выход

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

1 Ответ

1 голос
/ 17 февраля 2020

Вы должны отредактировать свое заявление if. Вы проверяете каталог, отличный от того, что вы создали:

<?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.");

      }

} 
...