Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] edycja pliku on-line
-marcinb-
post
Post #1





Goście







Witam.
Chciałbym prosić o pomoc. Próbuje zmienic już istenijący skrypt, który umożliwiłby edycję jakiegoś pliku tekstowego on line.
Skrypt nawet zapisuje zmiany pokazuje aktualną tresc na dole strony.
Brakuje mi jeszcze tego aby plik po zmianach wyswietlal sie aktualny takze w oknie do edycji. Jak to zrobic?

  1. <?php
  2.  
  3. echo '<form method=post action=edit.php?action=edit><textarea cols=85 rows=20 name=edit>';
  4. $file = "plik.txt";
  5. $fh = fopen($file, 'rb');
  6. $theData = fread($fh, filesize($file));
  7.  
  8. echo $theData;
  9. fclose($fh);
  10. echo "</textarea><input type=submit value=Zapisz></form>";
  11. if($_GET['action'] == 'edit')
  12. {
  13. $fh = fopen($file, 'wb') or die("can't open file");
  14.  
  15. $stringData = $_POST['edit'];
  16.  
  17. fwrite($fh,stripslashes($stringData));
  18. fclose($fh);
  19.  
  20. }
  21. echo "</center><b>Aktualna tresc pliku:</B><BR>";
  22. ?>
  23. <?php include("plik.txt"); ?> 
Go to the top of the page
+Quote Post
matrach
post
Post #2





Grupa: Zarejestrowani
Postów: 92
Pomógł: 0
Dołączył: 17.04.2006

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


Zamień może kolejność:
  1. <?php
  2. $file = "plik.txt";
  3. if($_GET['action'] == 'edit')
  4. {
  5. $fh = fopen($file, 'wb') or die("can't open file");
  6.  
  7. $stringData = $_POST['edit'];
  8.  
  9. fwrite($fh,stripslashes($stringData));
  10. fclose($fh);
  11. }
  12.  
  13. echo '<form method=post action=edit.php?action=edit><textarea cols=85 rows=20 name=edit>';
  14.  
  15. $fh = fopen($file, 'rb');
  16. //mały dodatek wrazie jak będą < i > aby nie rozwaliło texarea
  17. $theData = fread($fh, htmlspecialchars(filesize($file)));
  18.  
  19. echo $theData;
  20. fclose($fh);
  21. echo "</textarea><input type=submit value=Zapisz></form>";
  22.  
  23.  
  24. echo "</center><b>Aktualna tresc pliku:</B><BR>";
  25. ?>

a pozatym to czemu go includujesz?
weż go wyprintuj/echuj
Go to the top of the page
+Quote Post
-marcinb-
post
Post #3





Goście







Cytat(matrach @ 2006-04-22 10:29:09)
a pozatym to czemu go includujesz?
weż go wyprintuj/echuj


hmm... mala prosba - jak go wyswietlic ze wszystkimi enterami itd za pomoca 'echo' lub 'print'?
Go to the top of the page
+Quote Post
mike
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Cytat(marcinb @ 2006-04-23 13:53:49)
hmm... mala prosba - jak go wyswietlic ze wszystkimi enterami itd za pomoca 'echo' lub 'print'?

nl2br()
Go to the top of the page
+Quote Post
-marcinb-
post
Post #5





Goście







Cytat(mike_mech @ 2006-04-23 11:56:16)
Cytat(marcinb @ 2006-04-23 13:53:49)
hmm... mala prosba - jak go wyswietlic ze wszystkimi enterami itd za pomoca 'echo' lub 'print'?

nl2br()

Moja prosba dotyczy sposobu wyswietlenia pliku - teraz poprzez 'include' pokazuje sie zawartosc pliku - tekst ale w jednej lini. Co zrobic aby pokazywal tresc taka jaka jest - czyli w ilus tam wierszach (bo tak jest - iles wierszy, ile chcemy mozna zapisac, natomiast wysiwetla poprzez include tekst tylko w jednej).
Go to the top of the page
+Quote Post
mike
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


No a jak myslisz po co ja podałem linka do tej funkcji?
Bo jest odpowiedzią na Twoje pytanie.

Musisz przefiltrować treść pliku przez tą funkcje i dopiero potem wyswietlić.

Na przykład:
  1. <?php
  2.  
  3. $strFileName = 'plik.txt' // jakiś plik z "enteramii" i nowymi liniami :)
  4.  
  5. $strFileContent = file_get_contents( $strFileName );
  6.  
  7. echo nl2br( $strFileContent ); // wyświetlenie po przefiltrowaniu
  8.  
  9. ?>
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 Aktualny czas: 21.08.2025 - 01:18