防止文件覆盖php

NexusEdits

我正在创建一个有两个文本框的网站。一种用于文件名,一种用于内容。当您点击提交时,它将根据您编写的内容在特定文件夹中创建一个文件。这一切都很好,但是如果您编写相同的文件名和不同的内容,它将覆盖该文件。我只想在提交后关闭文件以进行写入,这样就没有人可以弄乱其他文件。继承人我的PHP代码:

    <?php
$filnavn=$_POST["filnavn"];
$innhold=$_POST["innhold"];

if($filnavn!=""){
    $myfile = fopen(dirname(__FILE__)."/lekser/".$filnavn.".txt", "w") or die("Feil! Klarer ikke å skrive filen. Prøv igjen.");
    fwrite($myfile, $innhold);
    fclose($myfile);
}
?>
马诺吉·辛格

试试这个::

$filnavn = $_POST["filnavn"];
$innhold = $_POST["innhold"];
$path = dirname(__FILE__) . "/lekser/" . $filnavn . ".txt";

如果文件不存在则创建一个新文件::

if ($filnavn != "" && !file_exists($path))
{
    $myfile = fopen($path, "w") or die("Feil! Klarer ikke å skrive filen. Prøv igjen.");
    fwrite($myfile, $innhold);
    fclose($myfile);
}

如果文件存在,则在现有文件内容的底部追加新内容:

if ($filnavn != "" && file_exists($path))
    {
        $myfile = fopen($path, "a") or die("Feil! Klarer ikke å skrive filen. Prøv igjen.");
        fwrite($myfile, $innhold);
        fclose($myfile);
    }

如果不想对现有文件进行任何更改,则创建新文件,并在文件名中添加编号

  if ($filnavn != "" && file_exists($path))
            {   // just add number with file name, for versioning
               $path = dirname(__FILE__) . "/lekser/" . $filnavn . "1.txt";
                $myfile = fopen($path, "w") or die("Feil! Klarer ikke å skrive filen. Prøv igjen.");
                fwrite($myfile, $innhold);
                fclose($myfile);
            }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章