Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Odwrotne wyświetlanie zawartości pliku?
IdolwSzutrab7
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 3.11.2012
Skąd: Piła

Ostrzeżenie: (0%)
-----


Witam,
Szperałem już tutaj na forum w tej sprawie i wynalazłem podobne tematy, ale nic z nich nie wywnioskowałem i postanowiłem założyć swój.

Przedstawię w skrócię co stworzyłem w PHP:
Prostą stronkę, na której jest formularz i skrypt, który zapisuje dane z formularza do pliku tekstowego.
Drugi skrypt wyświetla dane z owego pliku tekstowego.

Już miałem kończyć, ale zauważyłem, że dane są wyświetlane od najstarszego do najnowszego.

Tak wygląda formularz:


  1. <table border="0" width="100%" height="100%">
  2. <tr>
  3. <td align="center" valign="center">
  4.  
  5. <form action="zyczenia-przetworzenie.php" method="post">
  6. <table border="0" align="center">
  7. <tr>
  8. <td align="right" valign="top" height="10px">
  9. Pseudonim:
  10. </td>
  11. <td align="left" valign="top">
  12. <input type="text" name="pseudonim" size="13" maxlength="20" />
  13. <input type="submit" value="Wyślij" style="float: right; cursor: pointer;">
  14. </td>
  15. </tr>
  16. <tr>
  17. <td align="right" valign="top">
  18. Życzenia:<br />
  19. <font style="font-size: 9px;">(Max. 160 znaków!)</font>
  20. </td>
  21. <td align="left" valign="top">
  22. <textarea type="text" name="zyczenia" cols="25" rows="2" maxlength="160"></textarea>
  23. </td>
  24. </tr>
  25. </form>
  26.  
  27. </td>
  28. </tr>
  29. </table>




Tak wygląda pierwszy skrypt:


  1. <table border="0" width="100%" height="100%">
  2. <tr>
  3. <td align="center" valign="center">
  4.  
  5. <?php
  6.  
  7. $tresczyczen = $_POST['zyczenia'];
  8. $pseudonim = $_POST['pseudonim'];
  9. $data = date ('H:i:s, d.m.Y');
  10.  
  11.  
  12.  
  13. echo '<div style="width: 300px;">';
  14. echo '<div style="text-align: left;">Twoja wiadomość:</div>';
  15. echo '<div style="text-align: left; border: 1px solid black; margin-top: 5px; margin-bottom: 5px; padding: 5px; width: 300px;">';
  16. echo $tresczyczen;
  17. echo '</div>';
  18.  
  19. if (empty($tresczyczen) or empty($pseudonim)) {
  20. echo "<font>Twoje życzenia nie zostały wysłane poprawnie!</font><br />";
  21. echo '<font><a href="./zyczenia-formularz.html">Kliknij tutaj,</a> aby spróbować ponownie...</font>';
  22. } else {
  23. echo "<font>Twoje życzenia zostały wysłane poprawnie!</font>";
  24. echo '<div style="text-align: right;">Dziękujemy!</div>';
  25. }
  26. echo "</div>";
  27.  
  28.  
  29.  
  30. $zyczenia = '<div style="text-align: left;">'.$tresczyczen."</div><div style='text-align: right;'><strong>Autor:</strong> ".$pseudonim."<br /><strong>Data:</strong> ".$data."</div><br /><br />\n";
  31.  
  32. $wp = fopen ("./zyczenia-lista.txt", 'a');
  33.  
  34. fwrite ($wp, $zyczenia);
  35.  
  36. $wielkoscpliku = filesize("./zyczenia-lista.txt");
  37.  
  38. if ($wielkoscpliku >= 2048) {
  39. unlink("./zyczenia-lista.txt");
  40. }
  41.  
  42. fclose($wp);
  43.  
  44. ?>
  45.  
  46. </td>
  47. </tr>
  48. </table>




A tak wygląda drugi skrypt:


  1. <table border="0" width="100%" height="100%">
  2. <tr>
  3. <td align="center" valign="center">
  4.  
  5. <?php
  6.  
  7. @ $wp = fopen ("./zyczenia-lista.txt", 'r');
  8.  
  9. echo '<div style="border: 0px solid black; width: 200px; padding: 3px;">';
  10.  
  11. if (!$wp) {
  12. echo "<font><strong>Uwaga:</strong> nikt nie przysłał żadnych życzeń, lub plik z życzeniami nie istnieje!</font>";
  13. } while (!feof($wp)) {
  14. $zyczenia = fgets($wp, 999);
  15. echo $zyczenia."<br />";
  16. }
  17.  
  18. echo '</div>';
  19.  
  20. fclose($wp);
  21.  
  22. ?>
  23.  
  24. </td>
  25. </tr>
  26. </table>




Nie znam się kompletnie na PHP - powyrzsze skrypty robiłem na podstawie informacji zawartych w podręczniku.
Wszystko ładnie działa, ale chciałbym, aby jednak te dane były wyświetlane na odwrót, niż są zapisane - albo, aby od razu były zapisywane na początku pliku, a nie na końcu.

Mogę prosić was o pomoc?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 19:35