Comment créer une erreur de redimensionnement de formulaire si le fichier existe déjà pour empêcher que le fichier ne soit modifié ou écrasé ?
Je ne sais pas comment modifier ce code pour réajuster l'erreur afin d'empêcher la modification ou l'écrasement du fichier si le fichier existe déjà.
<?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(); } ?>
Actuellement, lorsque $name existe déjà, votre code utilisera le nom de fichier cible renommé pour enregistrer les données, modifiez simplement cette partie pour qu'elle affiche une erreur et termine l'exécution avec exit() ;
D'un autre côté, pourquoi votre code fait-il écho à "publié avec succès" dans le bloc else ? Vous devez informer l'utilisateur que toutes les données requises n'ont pas été saisies et lui demander de soumettre à nouveau.
BTW, vous autorisez l'utilisateur à saisir quelque chose, puis à l'enregistrer sous xxxx.php, ce qui pourrait constituer une menace sérieuse pour la sécurité ! ! ! Veuillez y réfléchir à deux fois si vous voulez le faire (ou pas)
Pour (1) et (2) ci-dessus, veuillez modifier le code comme suit :