如果文件已存在,如何使表单重新调整出错以防止文件被编辑或覆盖?
如果文件已存在,我不确定如何编辑此代码以重新调整错误,以防止文件被编辑或覆盖。
<?php if( $_POST["potus"] || $_POST["data"] ){ $name = $_POST['potus']; $data = $_POST['data']; static $ext = ".php"; if(file_exists($name)){ //rename exist file with random string $n = rand(); $filename = $name.$n.$ext; } else { $filename = $name.$ext ; // Creates file if it doesn't exist } file_put_contents($filename , $data); } else { echo "successfully posted"; exit(); } ?>
当前,当 $name 已经存在时,你的代码将使用重命名的目标文件名来保存数据,只需更改这部分,使其显示错误并通过 exit() 结束执行;
另一方面,为什么您的代码会在 else 块中回显“成功发布”?您应该告诉用户并未输入所有必需的数据,并要求他/她重新提交。
顺便说一句,您允许用户输入一些内容,然后另存为 xxxx.php,这可能是一个严重的安全威胁!!!请再考虑一下是否要这样做它(或不是)
对于上面的(1)和(2),请将代码修改为: