Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zapis danych do pliku .TXT na początku
moto0095
post 21.03.2010, 18:57:35
Post #1





Grupa: Zarejestrowani
Postów: 247
Pomógł: 9
Dołączył: 12.03.2010

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


Dzień dobry. Przeszukałem google i nie mogę nic znaleźć.
Mam oto taki skrypt php:

plik: news_edit.php
  1. <?php
  2. /*********************************************
  3.   * formularz
  4.   *********************************************/
  5.  
  6. $pole1 = trim($_POST['pole1']);
  7. $pole2 = trim($_POST['pole2']);
  8. $pole3 = trim($_POST['pole3']);
  9. $pole4 = trim($_POST['pole4']);
  10. $pole5 = trim($_POST['pole5']);
  11.  
  12. if(empty($pole1) and empty($pole2) and empty($pole3) and empty($pole4) and empty($pole5)) {
  13.  
  14. // formularz
  15. echo '<form action="" method="post">
  16. tytuł: <input type="text" name="pole2" value="http://" style="width: 200px;" /><br />
  17. nr: <input type="text" name="pole1" style="width: 183px;" /><br />
  18. autor: <input type="text" name="pole3" style="width: 183px;" /><br />
  19. data: <input type="text" name="pole4" style="width: 183px;" /><br />
  20. text: <input type="text" name="pole5" style="width: 183px;" /><br />
  21. <input type="submit" value="Zapisz" /> <input type="reset" value="Reset" />
  22. </form>';
  23.  
  24. }
  25.  
  26. if ($pole1 != "") {
  27. // dane pochodzace z formularza
  28. $dane = $pole1."|".$pole2."|".$pole3."|".$pole4."|".$pole5."\n";
  29. // przypisanie zmniennej $file nazwy pliku
  30. $file = "data.txt";
  31. // uchwyt pliku, otwarcie do dopisania
  32. $fp = fopen($file, "a");
  33. // blokada pliku do zapisu
  34. flock($fp, 2);
  35. // zapisanie danych do pliku
  36. fwrite($fp, $dane);
  37. // odblokowanie pliku
  38. flock($fp, 3);
  39. // zamkniecie pliku
  40. fclose($fp);
  41.  
  42. echo "Dane zostaly zapisane!<br />";
  43. echo "<a href=news_edit.php>Zobacz wpisane dane</a>";
  44.  
  45. }
  46.  
  47.  
  48. ?> <br><br><br>
  49. <script language='JavaScript' type='text/javascript'>
  50. if (document.getElementById('pole1'))
  51. {
  52. document.write("");
  53. }
  54. else
  55. {
  56. if (document.body.innerText.indexOf("Dane zostaly zapisane!")>=0)
  57. {
  58. ///
  59. }
  60. else
  61. {
  62. document.write("Karta jest pusta");
  63. document.write('<a href="index.php">wróc</a>');
  64. }
  65.  
  66. }
  67. </script>
  68. <?php
  69. /*********************************************
  70.   * baza
  71.   *********************************************/
  72.  
  73. echo "<table border=1 cellspacing=0 cellpadding=0 width=98%>";
  74.  
  75. // wczytanie zawartosci pliku do tablicy
  76. $file = file("data.txt");
  77. // przechodzimy przez tablice za pomoca petli foreach
  78. foreach($file as $value) {
  79. // rozbijamy poszczególne linie na czesci
  80. $exp = explode("|",$value);
  81. // wyswietlamy rozbity tekst
  82. echo "<tr><td>" .$exp[0]. "</td><td>" .$exp[1]. "</td><td>" .$exp[2]. "</td><td>" .$exp[3]. "</td><td>" .$exp[4]. "</td></tr>";
  83. }
  84.  
  85. echo "</table>";
  86. ?>

Zapisuje on najpierw informacje z pul do pliku dane.txt a następnie je wyświetla.
I mam takie pytanie: Jak zrobić aby dane zapisywały się na samej górze a nie na samym dole pliku dane.txt questionmark.gifquestionmark.gifquestionmark.gifquestionmark.gif

Ten post edytował moto0095 21.03.2010, 18:58:19
Go to the top of the page
+Quote Post
DiH
post 21.03.2010, 19:20:07
Post #2





Grupa: Zarejestrowani
Postów: 251
Pomógł: 34
Dołączył: 7.01.2010

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


Przykład z manuala, trochę przerobiony:
  1. $nowe_dane = "Nowa linijka \r\n";
  2. // Do $tresc ładujesz zawartość pliku plik.txt
  3. $tresc = file_get_contents('plik.txt');
  4. // Do nowych danych dołączasz wcześniejszą zawartość pliku
  5. $nowe = $nowe_dane.$tresc;
  6. // Zapisz treść spowrotem do pliku
  7. file_put_contents('plik.txt', $nowe);

Pozdrawiam

Ten post edytował DiH 21.03.2010, 19:20:52
Go to the top of the page
+Quote Post
MateuszS
post 21.03.2010, 19:21:39
Post #3





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

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


Może tak

  1. <?
  2.  
  3. $fp = fopen($file, "a");
  4. // blokada pliku do zapisu
  5. $tekst = fread($fp, filesize("data.txt"));
  6. $dane = $tekst . "oddzielnik" . $dane; //nie wiem czym oddzielasz te newsy, zedytuj sobie
  7. // zapisanie danych do pliku
  8. fwrite($fp, $dane);
  9.  
  10.  
  11. ?>


Musisz posprawdzać. Chodzi o to że pobierasz dane z pliku, doczepiasz na początek nowy news i stare dane za nim i z powrotem zapisujesz do pliku.

edit//
drugi :]

Ten post edytował MateuszScirka 21.03.2010, 19:22:17


--------------------
O! Zimniok :P
Go to the top of the page
+Quote Post
moto0095
post 21.03.2010, 19:29:19
Post #4





Grupa: Zarejestrowani
Postów: 247
Pomógł: 9
Dołączył: 12.03.2010

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


Zadam może głupie pytanie ale w jakim miejscu doczepić te skrypty questionmark.gifquestionmark.gif
Go to the top of the page
+Quote Post
MateuszS
post 21.03.2010, 19:35:21
Post #5





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

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


Wystarczy że doczepisz jeden. pomiędzy flockami (wywal je najlepiej) i wywal fwrite i tam wklej kod.


--------------------
O! Zimniok :P
Go to the top of the page
+Quote Post
DiH
post 21.03.2010, 19:39:35
Post #6





Grupa: Zarejestrowani
Postów: 251
Pomógł: 34
Dołączył: 7.01.2010

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


Usuwasz ten blok:
  1. / przypisanie zmniennej $file nazwy pliku
  2. $file = "data.txt";
  3. // uchwyt pliku, otwarcie do dopisania
  4. $fp = fopen($file, "a");
  5. // blokada pliku do zapisu
  6. flock($fp, 2);
  7. // zapisanie danych do pliku
  8. fwrite($fp, $dane);
  9. // odblokowanie pliku
  10. flock($fp, 3);
  11. // zamkniecie pliku
  12. fclose($fp);

I podmieniasz go na kod mój, lub kolegi.
Go to the top of the page
+Quote Post
moto0095
post 21.03.2010, 19:54:14
Post #7





Grupa: Zarejestrowani
Postów: 247
Pomógł: 9
Dołączył: 12.03.2010

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


DZIĘKUJĘ WAM PANOWIE BARDZO MI POMOGLIŚCIE smile.gif smile.gif smile.gif exclamation.gif!!!!
Temat do zamknięcia exclamation.gif
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 18.06.2025 - 14:58