Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Edycja rekordu zapisanego w pliku
Forum PHP.pl > Forum > Przedszkole
artero
Witajcie. Mam problem z takim jednym zagadnieniem które musze w projekcie zrobić ale nie za bardzo wiem jak. napisałem kod:
HTML:
  1. <form class="form-horizontal form" enctype="multipart/form-data" action="admin.php" method="POST">
  2. <h1>Edit</h1>
  3. <div class="control-group">
  4. <label class="control-label" for="inputPassword">Text</label>
  5. <div class="controls">
  6. <input type="text" name="text" value="<?php echo $temp[1]; ?>">
  7. </div>
  8. </div>
  9. <div class="control-group">
  10. <label class="control-label" for="inputPassword">Color(e.g #000000)</label>
  11. <div class="controls">
  12. <input type="text" name="color" value="<?php echo $temp[2]; ?>">
  13. </div>
  14. </div>
  15. <div class="control-group">
  16. <img src="upload/<?php echo $temp[0]; ?>" alt=" />"
  17. <label class="control-label" for="inputPassword">Photo</label>
  18. <input type="hidden" name="MAX_FILE_SIZE" value="5000000000" />
  19. <input name="pliki" type="file" />
  20. <input type="submit" name="sube" class="btn btn-success" value="Wyślij plik" />
  21. </div>
  22. </form>


PHP

  1. if(isset($_POST["sube"]))
  2. {
  3. $file = file("db.txt");
  4. $temp = explode("<~>", $file[$_GET["edit"]]);
  5.  
  6. $ID = time();
  7.  
  8. //usuniece danego rekordu
  9. unset($file[$_GET["edit"]]);
  10. // usuwamy dane z pliku
  11.  
  12. //dodanie zamiast tego rekordu nowy edytowany
  13. $pliki_tmp1 = $_FILES['pliki']['tmp_name']; //pobieranie tymczasowej nazwy pliku
  14. $pliki_nazwa1 = $_FILES['pliki']['name']; //pobieranie pełnej nazwy pliku
  15. $pliki_rozmiar1 = $_FILES['pliki']['size']; //pobieranie wielskości pliku
  16. $pliks1 = time().$pliki_nazwa1; //zmiana nazwy pliku, poprzez dodanie jej liczby sekund
  17.  
  18. $color1 = $_POST['color'];
  19. if($color1 == "")
  20. $color1 = "#000";
  21.  
  22.  
  23. file_put_contents('db.txt', $pliks1.'<~>'.$_POST['text'].'<~>'.$color1.'<~>'.$ID.'<~>'."\n",FILE_APPEND); //dodanie do pliku tekstowego rekordu
  24. if(is_uploaded_file($plik_tmp1)) { // sprawdzanie czy został wrzucony na serwer plik
  25. unlink("upload/" . $temp[0]);
  26. move_uploaded_file($plik_tmp1, "upload/".$pliks1); //wrzucanie do danego folderu tego pliku
  27. }
  28. }


Ogólnie chodzi mi o to, że muszę edytować plik db.txt usuwać plik który jest zdjęciem i dodawać nowy a w pliku db.txt dodawać nowy rekord. Jak na razie to to dodaje tylko nowy rekord ;/

Pozdrawiam

P.s. jeżeli zły temat to przenieście smile.gif
fate
zalozenie jest takie ze kolejne rekordy to nowe linijki w pliku db.txt (\r\n)
wczytujesz plik do tablicy za pomoca file
usuwasz element tablicy co chcesz usunać (musisz sobie zadac pytanie jak go rozpoznajesz/wyrozniasz) np. unset
jezeli nie chcesz miec pustych linijek to
lub array_values
zapisujesz tablice do pliku file_put_contents fopen fwrite

przerób albo napisz od nowa
artero
Ok, dzięki smile.gif
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.