![]() |
![]() |
-Gość_Romek- |
![]() ![]()
Post
#1
|
Goście ![]() |
Potrzebuje zrobic cos takiego: otwieram plik z adresami pocztowymi np. mail.txt ktory jest w formacie
adres@wp.pl blabla innyadres@onet.pl blabla Dopisuje same adresy pocztowe do inengo pliku np. inny.txt, w formie stalyadres@poczta.pl: adres@wp.pl, innyadres@onet.pl Problem pojawia sie wtedy gdy taki wpis (zaczynajacy sie od stalyadres@poczta.pl) istnieje juz w inny.txt, wowczas skrypt powinien najpierw usunac linie zawierajaca taki wpis, a nastepnie dodac powyzszy wpis, czyli: stalyadres@poczta.pl: adresy@z.mail.txt.pl, inny_adres@z.mail.txt.pl Jak to zrobic? ![]() |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 196 Pomógł: 2 Dołączył: 17.01.2004 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
A poszukać to nie łaska?! http://forum.php.pl/index.php?showtopic=3260
Dodaj do tego sprawdzanie linii (np. w pętli) i już... -------------------- |
|
|
-Gość_Romek- |
![]()
Post
#3
|
Goście ![]() |
Narazie zrobilem cos takiego:
Kod $tablica = file("mail.txt","r"); foreach($tablica as $linia) { } Teraz jak powinien wygladac warunek w petli, jezeli chce zeby poznalezieniu lini ktora zawiera Kod stalyadres@poczta.pl: linia ta byla usuwana? |
|
|
-Gość_Romek- |
![]()
Post
#4
|
Goście ![]() |
Narazie warunek w petli jest taki:
Kod if (strstr($linia, "stalyadres@poczta.pl")) unset($linia); fopen("mail.txt", "a"); fputs($tablica, $linia); fclose($tablica); problem lezy w trybie otwarcia fopen() pliku mail.txt, poniewaz wczesniej otwieram go juz przez file() w tybie "r". Jak moge zapisac zmiany w pliku (konkretnie usuniecie jednej lini) z pominieciem tworzenia jakiegos pliku tymczasowego? |
|
|
-phpion.com- |
![]()
Post
#5
|
Goście ![]() |
Wczytaj plik do tablicy, nastepnie w petli znajdz index tablicy, przy ktorym wartosc bedzie == tej ktora chcesz usunac, nastepnie otworz plik w trybie w+ i wpisz do niego tablice z warunkiem, ktory sprawdzi czy wpisywana linia ma rozny numer (index z tablicy) od tej, ktora chcesz usunac
|
|
|
-Guest- |
![]()
Post
#6
|
Goście ![]() |
Napisalem cos takiego,ale nie dziala:
Kod $tablica = file("mail.txt");
$index = 0; foreach($tablica as $linia) { if (strstr($linia, "do_usuniecia@onet.pl")) $szukany = $index; //unset($linia); echo $szukany; $index++; } $fp = fopen("mail.txt", "w+"); foreach($tablica as $linia2) { if ($index != $szukany) fputs($fp, $linia2); else continue; } fclose($fp); |
|
|
![]()
Post
#7
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 196 Pomógł: 2 Dołączył: 17.01.2004 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
-------------------- |
|
|
-Guest- |
![]()
Post
#8
|
Goście ![]() |
Dzieki za pomoc.
Zamiast strpos() uzylem strstr() i poszlo. ![]() |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 111 Pomógł: 16 Dołączył: 19.02.2005 Skąd: Dębica Ostrzeżenie: (0%) ![]() ![]() |
Romciu, a nie lepiej jakbys sobie to zrobil w bazach? No nie wiem jezeli koniecznie na plikach to radzilbym zrobic sobie cos takiego
mail.txt:
-------------------- Psik!! A masz!! ...chamie - Porucznik Borewicz
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 02:27 |