Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] edycja pliku on-line
Forum PHP.pl > Forum > Przedszkole
marcinb
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"); ?> 
matrach
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
marcinb
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'?
mike
Cytat(marcinb @ 2006-04-23 13:53:49)
hmm... mala prosba - jak go wyswietlic ze wszystkimi enterami itd za pomoca 'echo' lub 'print'?

nl2br()
marcinb
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).
mike
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. ?>
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.