Wie mache ich einen Fehler bei der Größenänderung des Formulars, wenn die Datei bereits vorhanden ist, um zu verhindern, dass die Datei bearbeitet oder überschrieben wird?
Ich bin mir nicht sicher, wie ich diesen Code bearbeiten soll, um den Fehler erneut zu beheben und zu verhindern, dass die Datei bearbeitet oder überschrieben wird, wenn die Datei bereits vorhanden ist.
<?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),请将代码修改为: