我想創建一個使用平面文件的評分系統(我知道,我更喜歡使用mysql)。我已經設法創建了足夠的變量,以便將變量從遊戲中移出(用戶名和分數)並放入所述文本文件中。我也可以用格式化的表格輸出這個文本文件。不過,我無法按照任何順序將分數排序 - 理想情況下,我需要降序排列。在搜索完網頁後,我能找到的最好的代碼是在附加的代碼中,但目前似乎並沒有做任何事情。我知道它在某個地方可能是一個愚蠢的錯誤,但我可以用一雙新鮮的眼睛來查看它。 非常感謝,哈利數字排序一個php .txt文件
<?php
echo '<table width="5%" border="5"><tr><th>Your Score</th><th>Your Name</th></tr>';
echo '<tr><td>'.$_POST["m_score"].'</td><td>'.$_POST["name"].'</td></tr>';
echo '</table>';
echo "<br />";
$data=$_POST["m_score"].",".$_POST["name"].",";
$filename = "./highscores.txt";
$handle = fopen($filename, "a");
if (!$handle)
{
print "There were problems opening the file";
exit();
}
fwrite($handle, $data);
fclose($handle);
$handle = fopen($filename, "r");
$datain = fread($handle, filesize($filename));
$value = explode(",",$datain);
$row = floor(count($value)/2);
$count = 0;
$filename = file("./highscores.txt");
sort($filename);
file_put_contents("./highscores.txt", implode($filename));
echo '<table width="5%" border="1"><tr><th>Top Scores</th><th>Top Users</th></tr>';
for ($i=0;$i<$row;$i++)
{
echo '<tr>';
for($x=0;$x<2;$x++){
echo "<td>$value[$count]</td>";
$count++;
}
echo "</tr>";
}
echo '</table>';
fclose($handle);
?>
你的代碼是開放的XSS以各種方式+您的使用只有1需要2 PARAM破滅,再加上通知不確定的變量,使'的error_reporting(E_ALL)'!爲什麼你不使用數據庫,即使只是sqlite? –
Webbiedave,我已經複製的唯一代碼是排序($文件名)段,我從這個網站得到,但對態度的讚譽!真的讓我覺得值得註冊。 Lawrence,XSS在這段代碼中並不是一個大問題,它的意思是非常低的水平(因爲我敢肯定你從我的糟糕嘗試中猜到了)這件作品。我會很高興地使用另一個數據庫,事實上(令人討厭)最初使用mysql編寫它。但是,它必須使用平面文件方式編寫 - 這對我來說是首先。 – user1396515