Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Tworzenie pliku z Textarea
Forum PHP.pl > Forum > Przedszkole
andrzejlechniak
Cześć,

Mam mały problem. Próbuję stworzyć plik na podstawie tego, co użytkownik pisze w formularzu typu Textarea. Mam taki kod, który mi nic nie wypisuje:
  1. <form action="#" method="POST">
  2. <textarea rows="6" cols="30" name="tresc" placeholder="Napisz coś"></textarea><br />
  3. <input type="submit" name="stworz_plik" value="Napisz" />
  4. <input type="reset" value="Wyczyść" />
  5. </form>



Plik przetwarzający:
  1. //Stworzenie pliku na podstawie przesłanego formularza
  2. if(isset($_POST['stworz_plik']))
  3. {
  4. if(isset($_POST['tresc']))
  5. {
  6. $tresc = $_POST['tresc'];
  7. if(strlen($tresc) < 3 || strlen($tresc) > 1200)
  8. {
  9. echo 'Nieprawidłowa długość zawartości <b>treści</b> wpisu. <br />';
  10. }
  11. else
  12. {
  13. $file = "moje dane.txt";
  14. $fp = fopen("$file", "r+");
  15. $dane = $dane.fread($fp, filesize($file));
  16. rewind($fp);
  17. flock($fp, 2);
  18. fwrite($fp, $dane);
  19. flock($fp, 3);
  20. fclose($fp);
  21. echo 'Udało się zapisać podane dane do pliku. <br />
  22. Twoje dane zapisane zostały do pliku'.$file.'<br />';
  23. }
  24. }
  25. else
  26. {
  27. echo 'Błąd przesyłania 2.';
  28. }
  29. }
  30. else
  31. {
  32. echo 'Brak przesyłania 1.';
  33. }


Może jakieś pomysły, sugestie??
dublinka
  1. $file = "moje_dane.txt";
  2. $tresc = $_POST['tresc'];
  3. $fp = fopen($file, "a+");
  4. flock($fp, 2);
  5. fwrite($fp, $tresc . "\r\n"); // lub PHP_EOL
  6. flock($fp, 3);
  7. fclose($fp);


przy odczycie array reverse()
andrzejlechniak
Sprawdzam, i dalej to samo...
viking
Włącz raportowanie błędów. Nas próbę zastosuj file_put_contents.
dublinka
Cytat(andrzejlechniak @ 28.08.2019, 18:40:55 ) *
Sprawdzam, i dalej to samo...

Czyli co.


  1. <?php
  2.  
  3. function saveData($path, $filename)
  4. {
  5. $tosave = $_POST['tosave'];
  6.  
  7. if($tosave != '')
  8. {
  9.  
  10.  
  11. $tosave = preg_replace("/\r\n|\r|\n/",'<br/>', $tosave);
  12. $foo = fopen($path . $filename, 'a+');
  13. flock($foo, LOCK_EX);
  14. $ok = fwrite($foo, $tosave . PHP_EOL);
  15. flock($foo, LOCK_UN);
  16. fclose($foo);
  17.  
  18. return ($ok) ? 'Zapisano' : 'Blad zapisu';
  19.  
  20.  
  21. }else {
  22.  
  23. header('location:' . $_SERVER['SCRIPT_NAME']);
  24.  
  25. }
  26. }
  27.  
  28. if(empty(trim($_POST['tosave'])))
  29. {
  30. ?>
  31. <form method=post>
  32. <textarea name='tosave' cols=55 rows=5></textarea><br>
  33. <input type=submit value='ok'>
  34. </form>
  35. <?php
  36. }else {
  37.  
  38. echo saveData('./', 'file.txt');
  39.  
  40.  
  41. }


"Mam mały problem. Próbuję stworzyć plik na podstawie tego, co użytkownik pisze w formularzu typu Textarea. Mam taki kod, który mi nic nie wypisuje:"

Ten przyklad nie tworzy zadnego pliku z tresci pola. Ten przyklad ma zapisac dane do pliku
andrzejlechniak
Ok, ale podajesz wszystko w jednym pliku - a jak ja chciałbym to mieć w 2 plikach, tzn.:
- plik 1: przesyłanie formularza
- plik 2: odbiór i potwierdzenie założenia pliku.
Napisałeś w warunku if, rozdzielisz?
dublinka
bez jaj. dostales juz po raz kolejny gotowca i nawet nie masz ochoty przeniesc formularz do osobnego pliku i usunac jeden warunek? troche samodzielnosci
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.