按字母排序文本文件条目

时间:2012-05-03 17:19:54

标签: php

我是PHP的新手,所以如果我问的任何问题都不清楚,我很抱歉。

我的目标是从一个简单的HTML表单中获取信息,要求用户填写三个文本框,选择他们是用户1还是用户2,然后上传文件。然后,我必须将信息存储在文本文件中,并在HTML表单正下方的浏览器中显示该信息。必须按照第一个文本框中输入的第一个字母的字母顺序排列信息。每个条目必须在各自的行上。

例如:

让我们说第1人进入:Sally Mae Johnson用户1 Flowers.jpg 人2出现后来进入:乔治迈克尔约翰逊用户2 books.jpg

现在它按照输入的顺序显示如下: Sally Mae Johnson用户1 Flowers.jpg George Michael Johnson用户2 books.jpg

我需要它按字母顺序显示第一个字母的第一个字母,如下所示: 乔治迈克尔约翰逊用户2 books.jpg Sally Mae Johnson用户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>";
            }

非常感谢任何帮助!提前谢谢。

2 个答案:

答案 0 :(得分: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!");

答案 1 :(得分: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);