php - 如果目录已经存在,如何退出脚本?
问题描述
下面有一个 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
解决方案
您必须编辑您的 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.");
}
}
推荐阅读
- elasticsearch - elasticsearch中索引的自动翻转
- antlr - ANTLR 未报告语法歧义
- laravel - Laravel - 动态配置文件
- mongodb - Rust 更新 mongo 文档
- bash - ssh 在 bash 上工作,但在我使用 zsh 或其他终端时不起作用,在 preauth 上被杀死
- azure - 在模拟器 iot edge 设备中测试 Azure IotHub 指标收集器
- node.js - 我有 npm 漏洞问题
- transactions - 难以使用私钥从 Bep20 上的智能合约发送硬币 - Web3.js
- syntax - Ansible 我们无法读取 JSON 或 YAML Shell:vars
- angular - 在 Amazon ec2 实例上安装 nodejs/angular