ďťż
Podstrony
|
telcocafeJak zrobic zeby mozna bylo usuwac z pliku okreslone linijki(np:Jest formularz Usun linijke: <input name="cos"> [OK] ) I wszystkie linijki ktore zawieraja slowo z pola "cos" maja zostac usuniete wczytujesz poprzez file i masz tablicę, robisz foreach i ereg - jeżeli jest to nic nie robisz jak jest to do $wynik dodajesz treść linii w stylu $wynik = $wynik$val; (gdzie $val z foreach) a na końcu zapisujesz nową treść do pliku Niezbyt rozumiem <_< Nie prosciej dac kod :P Nie jest prościej dać kod. Ale dzięki temu, że go nie masz, możesz się nauczyć jak takie rzeczy robić, a nie czekać na gotowe. Opiszę kod (inny sposób niż pierwsza odpowiedź): Wczytujesz do zmiennej np. $plik, plik poprzez funkcję file(). Tworzysz pętlę for od 0 do ilość elementów w $plik -1. W pętli sprawdzasz używając eregi() czy element tablicy $plik jest zgodny z tym co wpisałeś w formularzu ($_POST['nazwa_pola']). Jeśli jest zgodne to używasz funkcji array_splice() aby usunąć ten element z listy. Po pętli zapisujesz zmienną $plik spowrotem do tego pliku (file_put_contents - w PHP 5 + join()). Opisy funkcji znajdziesz na http://pl.php.net/manual/pl/. Nie wszystkie po PL, ale w dzisiejszych czasach trzeba sobie radzić :P for nie powinno być używane do tablic :P Riklaunim moze byc uzywane for w tablicach : MatroX - napewno wiecej zrozumialem niz z wypowiedzi Abdela. Teraz to przeanalizuje... foreach zostało stworzone do tablic, for nie i stosowanie for do tablic jest znacznie mniej wydajne niż foreach... jest to napisane praktycznie w każdym tutorialu optymalizacji/poprawnego pisania skryptów... Wersja 3 dla niedużych plików: $plik = fopen('moj_plik.txt', 'r'); $result = fread($plik, filesize('moj_plik.txt')); fclose($plik); $result = str_replace('zamień to', 'na to', $result); i w $result masz treść pliku po zamianie (str_replace)... możesz wykonywać różne operacje przed zapisem czy czymśtam... jak chcesz podział na linie to możesz $result explodować z podziałem "\n" |
|||
Sitedesign by AltusUmbrae. |