Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Problem z edycją pliku
Forum PHP.pl > Forum > PHP
Gibcio
Witam exclamation.gif!!

Mam pewien problem z edycję pliku - mam nadzieję że tutaj się go rozwiąże oto opis problemu:

Jest sobie plik z zawartością:
0||xxxxx||xxxxx||
0||bb||aaa||

oczywiście biorąc pod uwagę że wierszy może być więcej odczytuję zawartość pliku do zmiennej $plik

  1. <?php
  2. $plik = file("aaaa.xxx");
  3. for($i1=0; $i1<count($plik); $i1++)
  4. {
  5. $dane = explode("||", chop($plik[$i1]));
  6. echo "<td width='30%' class='panel' align='center'><input type='text' class='text' name='opcja_left' value='$plik[$i]'></td>";
  7. echo "<td width='30%' class='panel' align='center'><input type='text' class='text' name='nazwa_left' value='$plik[$i]'</td>";
  8. echo "<td width='30%' class='panel' align='center'><input type='text' class='text' name='url_left' value='$plik[$i]'</td>";
  9. }
  10. ?>

i kiedy zmienię wartość w obojętnie którym polu to zawartość pliku zostaje wykasowana a chciałbym żeby układ pliku został tak jak przed odczytaniem go lecz zmianie uległy poszczególne wartości.
Do nadpisywania pliku używam:

  1. <?php
  2. $plik = fopen("aaa.xxx", "w");
  3. fputs($plik, "".$_POST['opcja_left']."||$_POST['nazwa_left']."||".$_POST['url_left']."||n");
  4. fclose($plik);
  5. ?>
domis86
Hmmm. Moze inaczej to zrobic?
Plik ma Ci sluszyc do przechowywania danych?
Jesli tak to trzymaj je w tabeli, serializuj i zapisuj do pliku.
Pozniej wczytujesz caly plik, odserializowaujesz i masz spowrotem dane.
Zmieniasz cos w danych i mozesz znowu zapisac tak samo.
proste. aarambo.gif
cinekz
Odpalasz funkcję fopen z nieodpowiednim parametrem. Zamiast 'w' powinno być 'a'.
PS Poczytaj http://pl.php.net/manual/pl/function.fopen.php

Pozdrawiam Marcin.
domis86
to zmieni tylko tyle ze wskaznik bedzie ustawiony na koncu pliku. I tak nie bedzie mogl zmieniac wczesniejszych danych w prosty sposob.
Nie kombinujcie tylko serializujcie aarambo.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.