0

私は自分のウェブサイトにこのコードを持っています:

        <form name="form" method="post">
            <input type="text" name="text_box" size="50"/>
            <input type="submit" id="search-submit" value="submit" />
        </form>
<?php
    if(isset($_POST['text_box'])) { //only do file operations when appropriate
        $a = $_POST['text_box'];
        $myFile = "t.txt";
        $fh = fopen($myFile, 'w') or die("can't open file");
        fwrite($fh, $a);
        fclose($fh);
    }
?>

私がやりたいことは、既に t.txt がある場合、t2.txt を作成し、次に t3.txt などを作成するので、前の t のテキストを上書きしません。 。TXT。

4

2 に答える 2

0

非再帰的なソリューションの場合:

$count = 0;
while (true)
{
    if (!file_exists("t".++$count.".txt") 
    {
        write to file here...
        break;
    }
}
于 2013-08-31T17:57:15.123 に答える
0

ファイルが存在するかどうかをチェックする関数を作成できます。

function checkFile($x) {


  $file = "t".$x.".txt";

  if (file_exists($file) {

    checkFile(($x+1));

  } else {

    //make a file

  }

}

編集:

 if(isset($_POST['text_box'])) {

  $a = $_POST['text_box']; 
  $myFile = "t.txt";

  if (!file_exists($myFile)) {

    $fh = fopen($myFile, 'w') or die("can't open file"); 
    fwrite($fh, $a); 
    fclose($fh);

  } else {

    checkFile(1,$a);

  }

}

function checkFile($x,$a) {


  $file = "t".$x.".txt";

  if (file_exists($file)) {

    checkFile(($x+1),$a);

  } else {

    $fh = fopen($file, 'w') or die("can't open file"); 
    fwrite($fh, $a); 
    fclose($fh);

  }

}
于 2013-08-31T17:49:09.283 に答える