Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zamiana
Forum PHP.pl > Forum > Przedszkole
katomasz
Mam taki kod
  1. <?php
  2.  
  3. $usun=$_GET['usun'];
  4. $plik=file(&#092;"nazwy.dat\");
  5. $licznik=count($plik);
  6. for ($i=0; $i<$licznik; $i++)
  7.      {
  8.           $wiersz=explode(&#092;"t\", $plik[$i]);
  9.           $usun1=trim($wiersz[0]);
  10.           if ($usun1==$usun)
  11.              {
  12.               $usun=$usun.&#092;"rn\";
  13.               $file=fopen(&#092;"nazwy.dat\", \"r+\");
  14.               $file1=fread($file, filesize(&#092;"nazwy.dat\"));
  15.               $zamiana=str_replace($usun, &#092;"\", $file1);
  16.               fwrite($file, $zamiana);
  17.               fclose($file);
  18.              }
  19.           else
  20.            {
  21.               print $usun.&#092;" - \";
  22.               print &#092;"to nie ten wiersz\";
  23.               print &#092;" - \".$wiersz[0].\"<BR>\";
  24.            }
  25.      }
  26. ?>

Działa, jedynie zamiast usuwać linię ze zmienną $usun, dopisuje do końca pliku wszystkie linie oprócz tej ze zmienną $usun. Co jest źle?
nospor
  1. <?php
  2. $usun=$_GET['usun'];
  3. $plik=file(&#092;"nazwy.dat\");
  4.  
  5. foreach ($plik as $key=>$value)
  6. {
  7. $wiersz=explode(&#092;"t\", $value);
  8. $usun1=trim($wiersz[0]);
  9. if ($usun1==$usun)
  10. {
  11. unset($plik[$key]);
  12.  }
  13. else
  14.  {
  15. print $usun.&#092;" - \";
  16. print &#092;"to nie ten wiersz\";
  17. print &#092;" - \".$wiersz[0].\"<BR>\";
  18.  }
  19. }
  20. $handle=fopen('nazwy.dat',&#092;"w\");
  21. fwrite($handle,implode('',$plik));
  22. fclose($handle);
  23.  
  24. ?>
katomasz
Dzięki
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.