2011-09-07 49 views
1

好吧,對不起,如果它是一個愚蠢的問題,我是一個先行者。php文件放內容反向

我只是爲了練習而製作一個小型的留言箱。

它將呼喊信息插入到txt文件中。

我的問題是,它列出了從上到下的文本,我想這樣做是顛倒了。

if(isset($_POST['submit'])) { 
    $text = $_POST['text']; 
     if(!empty($text)) { 
     $text = $_POST['text']; 
     $name = $_POST['name']; 
     $time = date("H:i");    
     $content = 
     "<div class='text'><em>" . $time . "</em> 
     <span class='c11'><b>" . "<a href='userinfo_php_willbe_here.php' target='_blank'>" . htmlspecialchars($name) . "</a>" . ":</span></b> 
     " . htmlspecialchars($text) . " 
     </div>\n"; 
     file_put_contents($file, $content, FILE_APPEND | LOCK_EX); 
    } 
} 

這裏是我的代碼。

我正在谷歌周圍沒有太多的運氣,也許我沒有足夠努力。

可以請別人給我一個提示?

謝謝

+1

它做什麼,你告訴它做的事:它附加的文字了已經在文件中。使文本前置是一個壞主意,因爲它需要讀取和寫入文件的所有內容而不是隻寫一行。 – Jon

+0

你的意思是說你在文件中追加什麼,它會到達文件的開頭。不是嗎? – munjal

回答

3

沒有辦法這樣做一個函數調用。您需要從目標文件中讀取內容,在php中添加數據並重寫整個文件(請參閱file_get_contents)。

$fileContent = file_get_contents($file); 
$fileContent = $content . $fileContent; 
file_put_contents($file, $fileContent, LOCK_EX); 
+0

謝謝,並感謝您在我的問題上的時間 – Side

0

你只能通過讀它,後來寫入裝置前置到一個文件中。

file_put_contents($file, $content . file_get_contents($file), LOCK_EX); 
1

您還可以使用array_reverse像這樣:

// Data in file separated by new-line 
$data = explode("\n",file_get_contents("filename.txt")); 

foreach(array_reverse($data) as $value) { 
    echo $value."\n"; 
}