Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Kasowanie
Forum PHP.pl > Forum > Przedszkole
esesjot
Jak powinien wyglądać kod php, aby kasował mi 10 ostatnich linijek z pliku txt po upływie jednego dnia? Za pomoc serdecznie dziękuję! guitar.gif
sf
  1. <?php
  2. $settings='common.txt';
  3. $file='tekst.txt';
  4.  
  5. $line=file($settings);
  6. if($line[0]!=date(&#092;"Ymd\")) {
  7. echo 'Usuwam 10 lini.';
  8.  
  9. $lines=file($file);
  10. $new_lines=array_slice($lines, 0, -10);
  11.  
  12. $fp=fopen($file, &#092;"w+\");
  13. foreach($new_lines as $line) {
  14. fwrite($fp, $line);
  15. }
  16. fclose($fp);
  17.  
  18. $fp=fopen($settings,&#092;"w\");
  19. fputs($fp, date(&#092;"Ymd\"));
  20. fclose($fp);
  21. }
  22. else {
  23. echo 'Jest OK, kolejna zmiana jutro.';
  24. }
  25. ?>
hwao
php -> Poczatkujacy
esesjot
nie działa mi echo sad.gif 'usuwam 10 linii'
sf
w 6 lini wstawiles znak "!" zamiast tych krzaczkow ?

dziala napewno skrypt bo sprawdzalem, raz na dzien zmienia... potem trzeba czekac na kolejny dzien

EDIT: 5 linie sobie zamien na
  1. <?php
  2. file_exists($settings) ? $line=file($settings) : $line[0]=0;
  3. ?>

dzieki temu nie bedzie sie plul gdy nie bedzie pliku $settings tongue.gif
esesjot
wstawiłem ! i nadal nic sad.gif. Też nie mam pojęcia czemu nie chodzi questionmark.gif?
sf
  1. <?php
  2. $settings='common.txt';
  3. $file='tekst.txt';
  4.  
  5. file_exists($settings) ? $line=file($settings) : $line[0]=0;
  6.  
  7. if($line[0]==date(&#092;"Ymd\")) {
  8. echo 'Jest OK, kolejna zmiana jutro.';
  9. }
  10. else {
  11. echo 'Usuwam 10 lini.';
  12.  
  13. $lines=file($file);
  14. $new_lines=array_slice($lines, 0, -10);
  15.  
  16. $fp=fopen($file, &#092;"w+\");
  17. foreach($new_lines as $line) {
  18. fwrite($fp, $line);
  19. }
  20. fclose($fp);
  21.  
  22. $fp=fopen($settings,&#092;"w\");
  23. fputs($fp, date(&#092;"Ymd\"));
  24. fclose($fp);
  25. }
  26. ?>


to jest to samo, ale na odwrot, moze usunoles razem z tymi krzakami znak rownosci... nie wiem co robisz, jak nadal nie bedzie dzialac to napisz zaraz przed warunkiem: echo $line[0].' - '.date("Ymd");
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.