Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Tworzenie pliku z Textarea
andrzejlechniak
post 28.08.2019, 18:08:15
Post #1





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 7.11.2008

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


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??
Go to the top of the page
+Quote Post
dublinka
post 28.08.2019, 18:27:37
Post #2





Grupa: Zarejestrowani
Postów: 594
Pomógł: 66
Dołączył: 22.02.2008
Skąd: Dublin

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


  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()

Ten post edytował dublinka 28.08.2019, 18:37:21


--------------------
Go to the top of the page
+Quote Post
andrzejlechniak
post 28.08.2019, 18:40:55
Post #3





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 7.11.2008

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


Sprawdzam, i dalej to samo...
Go to the top of the page
+Quote Post
viking
post 28.08.2019, 18:58:42
Post #4





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


Włącz raportowanie błędów. Nas próbę zastosuj file_put_contents.


--------------------
Go to the top of the page
+Quote Post
dublinka
post 28.08.2019, 19:59:18
Post #5





Grupa: Zarejestrowani
Postów: 594
Pomógł: 66
Dołączył: 22.02.2008
Skąd: Dublin

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


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

Ten post edytował dublinka 28.08.2019, 20:47:04


--------------------
Go to the top of the page
+Quote Post
andrzejlechniak
post 29.08.2019, 18:31:10
Post #6





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 7.11.2008

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


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?
Go to the top of the page
+Quote Post
dublinka
post 29.08.2019, 19:06:15
Post #7





Grupa: Zarejestrowani
Postów: 594
Pomógł: 66
Dołączył: 22.02.2008
Skąd: Dublin

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


bez jaj. dostales juz po raz kolejny gotowca i nawet nie masz ochoty przeniesc formularz do osobnego pliku i usunac jeden warunek? troche samodzielnosci


--------------------
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 Wersja Lo-Fi Aktualny czas: 23.04.2024 - 14:45