0

PHP初心者ですので、わからないことがありましたら申し訳ありません。

私の目標は、ユーザーに 3 つのテキスト ボックスに入力し、ユーザー 1 かユーザー 2 かを選択し、ファイルをアップロードするよう求める単純な HTML フォームから情報を取得することです。次に、情報をテキスト ファイルに保存し、その情報をブラウザーの HTML フォームのすぐ下に表示する必要があります。情報は、最初のテキスト ボックスに入力されたものの最初の文字のアルファベット順に並べる必要があります。各エントリは、独自の行にある必要があります。

例えば:

人物 1 が入ったとしましょう: Sally Mae Johnson User 1 Flowers.jpg 人物 2 は後でやって来て、入ります: George Michael Johnson User 2 books.jpg

現在、次のように入力された順序で表示されます: Sally Mae Johnson User 1 Flowers.jpg George Michael Johnson User 2 books.jpg

次のように、名の最初の文字でアルファベット順に表示する必要があります。 George Michael Johnson user 2 books.jpg Sally Mae Johnson User 1 Flowers.jpg

これが私のコードです:

$fone = @$_POST["one"];
$ftwo = @$_POST["two"];
$fthree = @$_POST["three"];
$fselect = @$_POST["select"];

if ($_FILES)
{
    $name = $_FILES['upload']['name'];
    (move_uploaded_file($_FILES['upload']['tmp_name'], "uploads/$name"));
}


//write to the file

$values = "$fone\t";
$values .= "$ftwo\t";
$values .= "$fthree\t";
$values .= "$fselect\t"; 
$values .= "<img src='uploads/$name' /><br />";


//open and write to the file

$fp = @fopen("store.txt", "a") or die("Couldn't open the file!");
$numBytes = @fwrite($fp, $values) or die ("Couldn't write values to file!");


@fclose($fp);


?>
<form action="test_it.php" enctype="multipart/form-data" method="post">
Box 1: <input type="text" name="one" size="15" /> 
Box 2: <input type="text" name="two" size="15" />
Box 3: <input type="text" name="three" size="15" />
Select One: <select name="select"><option value="empty">Please Select</option><option value="user1">User 1</option>
<option value="user2">User 2</option>
<p>Upload a File:</p>
<p><input type="file" name="upload" />
<input type="hidden" name="MAX_FILE_SIZE" value="30000" />
<input type="submit" name="submit" value="submit" />
<input type="hidden" name="submitted" value="submitted" />
</p>
</form>
<?php

print "<P>Here are the users:<br />";
$file = "store.txt";

if (file_exists($file))
{
    $file1 = fopen("store.txt" , "r");
        while (!feof($file1))
        {
            $display = fgets($file1, filesize("store.txt"));
            echo $display . "
            ";
            }
            fclose($file1);
            }
            else
            {
                echo "<P>Error occured! Please try again!</p>";
            }

どんな助けでも大歓迎です!前もって感謝します。

4

2 に答える 2

0
$fone = @$_POST["one"];
$ftwo = @$_POST["two"];
$fthree = @$_POST["three"];
$fselect = @$_POST["select"];

if ($_FILES)
{
    $name = $_FILES['upload']['name'];
    (move_uploaded_file($_FILES['upload']['tmp_name'], "uploads/$name"));
}


// sort the entries 
$entries = array($fone, $ftwo, $fthree, $fselect);
sort($entries);

$values = implode("\t", $entries)."\t";
$values .= "<img src='uploads/$name' /><br />";


//open and write to the file

$fp = @fopen("store.txt", "a") or die("Couldn't open the file!");
$numBytes = @fwrite($fp, $values) or die ("Couldn't write values to file!");


@fclose($fp);
于 2012-05-03T18:08:07.440 に答える
0

最初に配列を作成してみてください。

$valuesArray = array();
$valuesArray[] = $fone;
    ... etc.

それで、

$valuesArray = sort($valuesArray);

最後に、テキストを準備します。

$values = $valuesArray[0] . "\t";
    ... etc.

そして、ファイルに書き込みます。

$numBytes = @fwrite($fp, $values) or die ("Couldn't write values to file!");
于 2012-05-03T17:37:04.360 に答える