如果目录已经存在,如何退出脚本?

问题描述 投票:0回答:1

下面有一个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
php loops for-loop exit-code file-exists
1个回答
0
投票

您必须编辑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.");

      }

} 
© www.soinside.com 2019 - 2024. All rights reserved.