Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Edycja *.txt w formacie UNIX
Forum PHP.pl > Forum > Przedszkole
Ardziej
Witam wszystkich użytkowników !
Mam jeden problemik, który już częściowo rozwiązałem, mianowicie chodzi mi edycje plików *.txt
Gdy edytuję w formacie WINDOWS to gdy w moim prostym edytorze
  1. <?php
  2. }; break ;
  3. case 'studio':
  4. echo "<h2>Edycja podstrony Studio</h2>";
  5. if(isset($_POST['change']))
  6. {
  7. $studiofile=stripslashes($_POST['studio']);
  8. // przypisanie zmniennej $file nazwy pliku
  9. $file = "../flash/text/studio.txt";
  10. // uchwyt pliku, otwarcie do dopisania
  11. $fp = fopen($file, "w");
  12. // blokada pliku do zapisu
  13. flock($fp, 2);
  14. // zapisanie danych do pliku
  15. fwrite($fp, $studiofile);
  16. // odblokowanie pliku
  17. flock($fp, 3);
  18. // zamknięcie pliku
  19. fclose($fp);
  20. echo"<img src=\"res/icons/ok.gif\" style=\" float:left; margin:10px;\" alt=\"accept\" /><p style=\"margin-top:50px;\"><strong>Zrobione!</strong></p>";
  21. }
  22. else
  23. {
  24. ?>
  25. <form method="post" action="#">
  26. <fieldset style="border:0">
  27. <div class="divform"><label>Zawartość:</label><textarea name="studio" rows="50" cols="50" style="width: 450px; height:200px;"><?php include ("../flash/text/studio.txt"); ?></textarea></div>
  28. <div class="divform"><label>&nbsp;</label><input type="submit" name="change" class="buttons" value=" " /></div>
  29. </fieldset>
  30. </form>

To gdy daję enter to wiadomo, że w formacie WINDOWS następna linia dodawana jest za pomocą
  1. \r\n

Zaś w formacie UNIX jest tal jak chce czyli
  1. \n

Ale za pomocą tego edytora zapisuję w formacie WINDOWS
Wie może ktoś jak to zmienić?
Pozdrawiam i Życzę Wesołych Świąt ! party.gif
darko
Zmienić edytor na taki, który poprawnie koduje tekst w utf-8 bez bom ? Również Wesołych!
Ardziej
Nie wiem czy się dobrze rozumiemy
Plik *.txt jest w kodowanie utf-8 bez BOM
Ale mi chodzi o format, tak jak jest w Notepad ++ i wtedy daje kodowanie te co wyżej i tak jest cały czas, a jak zmienię jeszcze format z WINDOWS na UNIX to wtedy tekst we flashu jest poprawnie wyświetlany, ale gdy edytuję po przez stronę (PA) to wtedy zapisuję w kodowaniu takim jak było, ale już w formacie WINDOWS i "Entery" znowu się robią podwójne worriedsmiley.gif
Pilsener
To jak sobie to wyobrażasz? Jeśli plik jest w PA edytowany to MUSI mieć takie kodowanie, jak na stronie, jeśli z jakiś powodów plik pobrany ze strony chcesz np. przekodować to używasz programów typu "gżegżółka", nie da się uniwersalnie spreparować pliku tak, aby był idealny we wszystkich systemach i kodowaniach smile.gif Jak zapiszesz plik jako windows to po wrzuceniu na stronę, gdzie jest np. utf-8 będą krzaki.

Jeśli chodzi o znaki nowej linii to daje się zawsze /r/n - działa w obu systemach.
Ardziej
Dzięki chłopaki za zainteresowanie, ale się całkowicie nie zrozumieliśmy aaevil.gif
Wystarczy po
  1. $studiofile=($_POST['studio']);
dodać
  1. $studiofile= str_replace("\r\n", "\n", $studiofile);

Co daje nam:
  1. $studiofile=($_POST['studio']);
  2. $studiofile= str_replace("\r\n", "\n", $studiofile);

Dzięki jeszcze raz i Wesołych Świąt Życzę !
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.