Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] przeszukanie i porównanie pliku txt
Hagen
post 31.01.2014, 21:29:28
Post #1





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 14.01.2014

Ostrzeżenie: (0%)
-----


Witam. Posiadam skrypt który pobiera z formularza adres email a następnie go zapisuje w pliku tekstowym. Chciałby dodać funkcję do tego skryptu aby nie dodawał kolejny raz tego samego adresu email. Czyli jeżeli jest podane adres email to zeby go nie zapisywał ponownie w pliku tekstowym. Mógłby ktos mi powiedzieć w ogole od czego mam zacząć?
Go to the top of the page
+Quote Post
Turson
post 31.01.2014, 21:32:56
Post #2





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

Ostrzeżenie: (0%)
-----


Na przykładzie
  1. $w = "lorem ipsum bl ab lab la";
  2. $s = "ipsum";
  3. if(preg_match("/$s/",$w)){
  4. echo "znaleziono";
  5. }


ewentualnie strpos

Ten post edytował Turson 31.01.2014, 21:33:23
Go to the top of the page
+Quote Post
Hagen
post 31.01.2014, 21:35:47
Post #3





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 14.01.2014

Ostrzeżenie: (0%)
-----


gdzie określileś to że funkcja ma przeszukać plik tekstowy ?
Go to the top of the page
+Quote Post
Mega_88
post 31.01.2014, 21:38:29
Post #4





Grupa: Zarejestrowani
Postów: 360
Pomógł: 34
Dołączył: 20.08.2011

Ostrzeżenie: (0%)
-----


Google i przykłady:
http://forum.php.pl/index.php?showtopic=42607
http://forum.php.pl/index.php?showtopic=195191
http://forum.pcformat.pl/PHP-Skrypt-przeszukujacy-plik-txt-t
http://forum.webhelp.pl/php-i-bazy-danych/...wo-t139930.html

Go to the top of the page
+Quote Post
tomxx
post 31.01.2014, 21:49:14
Post #5





Grupa: Zarejestrowani
Postów: 172
Pomógł: 27
Dołączył: 5.10.2013

Ostrzeżenie: (0%)
-----


  1. <?php
  2. function znaleziono($tekst) {
  3. $fp = fopen("file1.php", "a+");
  4. $zawartość = fread($fp, filesize("file1.php"));
  5. if(preg_match("/$tekst/",$zawartość))
  6. return 1;
  7. return 0;
  8. }
  9.  
  10. if(!znaleziono('e-mail')) {
  11. /* instrukcje zapisujące e-mail */
  12. }
  13. ?>
(zamiast "file1.php" należy podać własną nazwę pliku)

Ten post edytował tomxx 31.01.2014, 21:49:46
Go to the top of the page
+Quote Post
Hagen
post 31.01.2014, 21:54:36
Post #6





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 14.01.2014

Ostrzeżenie: (0%)
-----


właśnie zauwarzylem przed chwilą że mam problem w ogole z zapisanie adresu email do pliku, niby wszystko ładnie działa, plik zwiększa swoją objętość na serwerze, ale jak go otworzę to jest pusty ohmy.gif oto skrypt:

  1. <?php
  2. /*********************************************
  3. * plik formularz.php
  4. *********************************************/
  5.  
  6. $pole1 = trim($_POST['pole1']);
  7. $pole2 = trim($_POST['pole2']);
  8.  
  9. if(empty($pole1) and empty($pole2)) {
  10.  
  11. // prosty formularz zawierający dwa pola
  12. echo '<form action="" method="post">
  13. <input type="text" name="pole1" style="width: 200px;" /><br />
  14. <textarea name="pole2" style="width: 200px; height: 100px;">
  15. </textarea><br />
  16. <input type="submit" value="Zapisz" />
  17. </form>';
  18. }
  19. else {
  20.  
  21. // dane pochodzące z formularza
  22. $dane = $pole1."`".$pole2."\n";
  23. // przypisanie zmniennej $file nazwy pliku
  24. $file = "baza.txt";
  25. // uchwyt pliku, otwarcie do dopisania
  26. $fp = fopen($file, "a");
  27. // blokada pliku do zapisu
  28. flock($fp, 2);
  29. // zapisanie danych do pliku
  30. fwrite($fp, $dane);
  31. // odblokowanie pliku
  32. flock($fp, 3);
  33. // zamknięcie pliku
  34. fclose($fp);
  35.  
  36. echo "Dane zostały zapisane!<br />";
  37. echo "<a href=\"podglad.php\">Zobacz wpisane dane</a>";
  38. }
  39.  
  40. ?>
Go to the top of the page
+Quote Post
_Borys_
post 31.01.2014, 22:11:00
Post #7





Grupa: Zarejestrowani
Postów: 587
Pomógł: 190
Dołączył: 5.02.2011
Skąd: 64-800

Ostrzeżenie: (0%)
-----


Jak ten plik otwierasz, skryptem ?
To tam jest błąd, ten tu zapisuje poprawnie.
Skąd wiesz że zwiększa objętość skoro nie widzisz co zapisane.
Go to the top of the page
+Quote Post
Hagen
post 31.01.2014, 22:16:50
Post #8





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 14.01.2014

Ostrzeżenie: (0%)
-----


Już ogarnołem. Widziałem w programie ftp ze plik zwieksza objetość. Teraz się męczę jak te dwa skrypty połączyć :/
Go to the top of the page
+Quote Post
tomxx
post 31.01.2014, 22:23:54
Post #9





Grupa: Zarejestrowani
Postów: 172
Pomógł: 27
Dołączył: 5.10.2013

Ostrzeżenie: (0%)
-----


Dodaj do swojego kodu moją funkcję z postu #5 (zmieniając "file1.php" na "baza.txt"), a linijkę 19 z kodu z postu #6 zmień na:
  1. elseif(!znaleziono(/*tutaj podaj zmienną z adresem e-mail*/)) {


Ten post edytował tomxx 31.01.2014, 22:24:22
Go to the top of the page
+Quote Post
Hagen
post 31.01.2014, 22:42:46
Post #10





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 14.01.2014

Ostrzeżenie: (0%)
-----


działa smile.gif dziękuje ślicznie wink.gif

Ostatnie male pytanko. W poniższej linijce zapisywany jest adres email, chciałbym aby kazdy email był zapisywany z nowej linijce w pliku baza.txt

  1. $dane = $email."";


jak powyższy kod zamienię na

  1. $dane = $email."<br />";


to w pliku baza.txt zapisuje mi adres email wraz z <br />. Jak to zrobić aby mi przechodziło do następnej linii...
Go to the top of the page
+Quote Post
tomxx
post 31.01.2014, 22:45:28
Post #11





Grupa: Zarejestrowani
Postów: 172
Pomógł: 27
Dołączył: 5.10.2013

Ostrzeżenie: (0%)
-----


  1. $dane = $email."\n";
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 27.04.2024 - 09:50