Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]fopen i funckje pokrewne, nadpisywanie automatyczne
JakubBab
post
Post #1





Grupa: Zarejestrowani
Postów: 96
Pomógł: 2
Dołączył: 13.07.2015

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


Czesc,

Jak ustawic fseek tak zeby za kazdym razem jak funkcja jest wywolywana przechodzil na nastepny offset ? Probowalem ustawic licznik ale na podstawie czego? musialbym dolozyc osobna funkcje np. licznik odwiedzin i warunki. Moze jest cos przystepniejszego?

W przykladzie, zalozlmy ze jest slowo "foooo" i chce go zmienic na "uuuuu" ale progresywnie za kazdym wywolaniem funkcji. (1 odswiezenie strony "uoooo", 2 odswiezenie "uuooo" etc.)Kod ponizej. Fenks from de mauntejn.

  1. function changeLetter(){
  2.  
  3.  
  4. if(($fp = fopen("file_me.txt", "r+"))==FALSE)
  5. return false;
  6.  
  7.  
  8. $t = fgets($fp);
  9. if($t <=5){
  10. fseek($fp,0);
  11. fwrite($fp, "u");
  12. fclose($fp);
  13. }
  14. return $t;
  15.  
  16.  
  17. }
  18. echo (changeLetter());
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
JakubBab
post
Post #2





Grupa: Zarejestrowani
Postów: 96
Pomógł: 2
Dołączył: 13.07.2015

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


Dzieki miszczu. Odpisalem pozno i musze przyznac, ze nie myslalem. Przyklad ponizej. Moze sie komus, kiedys przyda

  1.  
  2. function writeLetter(){
  3.  
  4.  
  5. if(($fp = fopen("swoj_plik.txt", "r+"))==FALSE)
  6. return false;
  7.  
  8.  
  9. //offset
  10. $os = fopen("offset.txt","r+");
  11. $o = fgets($os);
  12. if($o==5){
  13. $o=0;
  14. fseek($os,0);
  15. fputs($os,$o);
  16. fclose($os);
  17. }else{
  18. $o = $o+1;
  19. fseek($os,0);
  20. fputs($os,$o);
  21. fclose($os);
  22. }
  23.  
  24. // plik z tekstem
  25. $t = fgets($fp);
  26. if($t <=5){
  27. rewind($fp);
  28. fseek($fp,$o);
  29.  
  30.  
  31.  
  32. fwrite($fp, "h");
  33. fclose($fp);
  34. }
  35.  
  36. return $t;
  37.  
  38.  
  39. }
  40. echo (writeLetter());
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: 8.10.2025 - 09:40