Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zmiana zawartości pliku txt za pomocą PHP
Forum PHP.pl > Forum > PHP
KrisKros123
Wszędzie szukałem takiego tematu i nie wyszukałem lub wyszukałem, ale nie zarejestrowały moje oczy tego momentu nerdsmiley.png . Jestem początkujący i szczerze mówiąc jestem z siebie dumny, bo bez książki od php napisałem w pełni działający skrypt. Oczywiście jak znam życie da się to lepiej zrobić, dlatego kieruję się do Was, żebyście mnie skierowali na lepszy tok myślenia. A o to kod:

  1. <?php
  2. //plik edycja.php
  3. $plik = $_POST['plik'];
  4. $fp = fopen("tymczas.txt", "w");
  5. fputs($fp, $plik);
  6. fclose($fp);
  7. header("Location: adminpanel.php");
  8. ?>


  1. <?php
  2. //Plik zapisz.txt
  3. $fp = fopen("tymczas.txt", "r");
  4. $plik = fread($fp, filesize("tymczas.txt"));
  5. fclose($fp)
  6. ?>
  7.  
  8. <?php
  9. $dane = $_POST['dane'];
  10. $fp = fopen("$plik", "w");
  11. fputs($fp, $dane);
  12. fclose($fp);
  13. header("Location: adminpanel.php");
  14. ?>


  1. <?php
  2. $fp = fopen("tymczas.txt", "r");
  3. $plik = fread($fp, filesize("tymczas.txt"));
  4. fclose($fp)
  5. ?>
  6. <form method="POST" action="edycja.php">
  7. Załaduj (spis treści):
  8. <select name="plik">
  9. <option value="<?php include('tymczas.txt'); ?>"></option>
  10. <option value="plik1.txt">PLIK1</option>
  11. <option value="plik2.txt">PLIK2</option>
  12. <option value="plik3.txt">PLIK3</option>
  13. </select>
  14. <input type="submit" value="Załaduj plik">
  15. <br>
  16. <form method="POST" action="zapisz.php">
  17. Nazwa pliku: <?php include('tymczas.txt'); ?>
  18. <br>
  19. <br>
  20. Kod:
  21. <br>
  22. <textarea cols="100" rows="25" name="dane">
  23. <?php include($plik); ?>
  24. </textarea>
  25. <input type="submit" value="Aktualizuj">
  26. </form>


1. Plik : edycja.php
2. Plik: zapisz.php
3. Plik: adminpanel.php
markuz
Ok, a więc Twój Product Owner mówi - zmień proszę "KrisKros" nazwę tego pliku na tymczas3.txt, bo tymczas.txt jest już niemodne wink.gif Co robisz?

Poprzednie zadanie jest trochę nie logiczne (dopiero przeczytałem kod).

Spróbuj sobie wpisać w textarea coś takiego:
<?php
phpinfo();

co się stanie?
KrisKros123
No wpisałem i w textarea i wyświetla mi się to: http://infostronka.cba.pl/Test/adminpanel.php

Zaś po wpisaniu tego w kod źródłowy np. plik.php wyświetla się ładna tabelka:
http://infostronka.cba.pl/Test/Info.php

A dokładniej info o PHP Version 5.6.34

Co do pliku tymczas.txt to taki plik mógłby się nawet nazywać kosmos.txt taki plik ma przechowywać nazwę pliku to edycji inna sprawa, ze po roku moglibyśmy nie wiedzieć do czego on służył. Ale mnie nie interesuje moda w nazwach pliku niedostępnych tak łatwo dla odwiedzających ( użytkownik nie wymyśli sobie tak z palca nazwy pliku , która akurat wskazywała by na to, a następną sprawą jest to, ze nawet jeśli tak to co mu po nazwie pliku skoro i tak nie może go edytować ) tylko poprawność skryptu.
markuz
Twój skrypt nie ma nic wspólnego z poprawnością skoro każdy może wywoływać dowolny kod PHP przez textarea. Zamiast phpinfo() mogę pobrać dane Twojego serwera, mogę tam nawet wrzucić swoją stronę a Twoje pliki wywalić. Albo zrobić jakaś niespodziankę w systemie jak nie zabezpieczyłeś odpowiednio serwera.

Nie chce Ci psuć tego na prod, ale kazdy kto czyta ten post może to zrobić.
KrisKros123
Ty no w sumie masz rację. To w jaki sposób miałbym zrobić żeby było poprawnie jakiś przykład, naprowadzanie.

A co do systemu to jest hosting nie ja się zajmuje zabezpieczeniami
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.