Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Operacje plikowe - zmiana konkretnej lini w tekście
pitrro131
post 14.03.2010, 02:20:13
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 31.07.2009

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


Witam, a więc posiadam plik php w postaci kilku zmiennych które służą za konfigurację.
Plik wygląda mniej więcej tak:
  1. <?php
  2. $dziś = false;
  3. $jutro = false;
  4. ?>


Chodzi mi o to żeby napisać inny prosty skrypcik który by otowrzył ten plik i zamienił wartość przy zmiennej dziś na wartość true.

Znalazłem gdzieś coś takiego:

  1. $key = '$dziś = false';
  2. $newline = '$dziś = true';
  3.  
  4. //copy file to prevent double entry
  5. $file = "config.php";
  6. $newfile = "filetemp.txt";
  7. copy($file, $newfile) or exit("failed to copy $file");
  8.  
  9. //load file into $lines array
  10. $fc = fopen ($file, "r");
  11. while (!feof ($fc))
  12. {
  13. $buffer = fgets($fc, 4096);
  14. $lines[] = $buffer;
  15. }
  16.  
  17. fclose ($fc);
  18.  
  19. //open same file and use "w" to clear file
  20. $f=fopen($newfile,"w") or die("couldn't open $file");
  21.  
  22.  
  23. // print_r($lines);
  24. // print "<br>\n";
  25.  
  26.  
  27. //loop through array using foreach
  28. foreach($lines as $line)
  29. {
  30. fwrite($f,$line); //place $line back in file
  31. if (strstr($line,$key)){ //look for $key in each line
  32. fputs($f,$newline);
  33. } //place $line back in file
  34. }
  35. fclose($f);
  36.  
  37. copy($newfile, $file) or exit("failed to copy $newfile");


To co podałem działa u mnie słabo.
I przy każdym wywołaniu dodaje w tej drugiej linii kodu taką samą linię zamiast zamienić tą pierwszą.

  1. <?php
  2. $dziś = false;
  3. $dziś = true;$dziś = true;$dziś = true;$dziś = true;$jutro = false;
  4. ?>


Ten post edytował pitrro131 14.03.2010, 02:21:58
Go to the top of the page
+Quote Post

Posty w temacie


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: 13.06.2025 - 23:32