You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让表单在文件已存在时返回错误,避免文件被编辑或覆盖?

修改后的代码及说明

要实现文件已存在时返回错误、禁止覆盖的需求,你可以对代码做如下调整:

<?php  
if( $_POST["potus"] && $_POST["data"] ){        
    $name = $_POST['potus'];        
    $data = $_POST['data'];         
    $ext = ".php";       
    $filename = $name . $ext;

    // 检查目标文件是否已存在
    if(file_exists($filename)){ 
        echo "错误:文件 {$filename} 已存在,禁止覆盖";
        exit();
    }

    // 文件不存在时才执行写入
    file_put_contents($filename , $data); 
    echo "文件创建成功";
} else { 
    echo "请提交必要的参数";     
    exit();     
} 
?>

关键修改点:

  • 先拼接完整的目标文件名(包含后缀),修正原代码中仅判断$name是否存在的逻辑错误
  • 当检测到文件已存在时,直接输出错误提示并终止脚本,不再执行后续写入操作
  • 移除原代码中重命名现有文件的逻辑,确保已存在的文件不会被修改或覆盖
  • 调整了参数判断逻辑(将||改为&&),确保只有当文件名和内容参数都提交时才执行文件操作,避免参数缺失导致的异常

内容的提问来源于stack exchange,提问作者wqyutv

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 03:59:59