Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Sprawdzanie zawartości pliku
Forum PHP.pl > Forum > Przedszkole
dark_root
Mam skrypt, który zapisuje dane z formularza do pliku. Jednak chciałbym weryfikować, czy dane zmienne zostały już kiedyś przesłane. Jak powinien wyglądać kod, który będzie sprawdzał to?
bełdzio
Cytat(dark_root @ 27.09.2008, 11:25:21 ) *
Jednak chciałbym weryfikować, czy dane zmienne zostały już kiedyś przesłane.

rozwin, chcesz sprawdzic czy juz wczesniej dane zostaly zapisane w pliku? w pliku dane zapisane sa jednorazowo? jesli tak to filesize
dark_root
Jeżeli ktoś wypełni formularz dając w $a=ala to następnym razem jak ktoś spróbuje wypełnić formularz z taką samą wartością zmiennej to wyskoczy błąd.
Lion_87
a jak zapisujesz te dane? z jakimis znakami?
melkorm
zaprezentuj przykładowy wygląd tego pliku txt z kilkoma wpsiami ;]
dark_root
Kod
aaas;Linia druga

Tak wygląda plik gdzie zapisuja się dane, po dokonaniu pierwszego wpisu.
bełdzio
hmm file( ) + explode( ) ? ewentualnie strpos( ) :-)
melkorm
Cytat(dark_root @ 27.09.2008, 15:07:12 ) *
Kod
aaas;Linia druga

Tak wygląda plik gdzie zapisuja się dane, po dokonaniu pierwszego wpisu.


prosiłem o kilka przykładów .. i nie wiem czy w lini trzymasz jedną daną czy ile tam ... dobry przykład owocuje szybszym i trafniejszym rozwiązaniem problemu smile.gif
dark_root
tak wygląda kod z kilkoma wpisami
Kod
asasas;asasas;asassdd
dark_root
Wyskrobałem takie coś
  1. <?php
  2. $plik.=$k.";<br>";
  3. $nazwa_pliku = "plik.txt";
  4. $mojplik = file('plik.txt');
  5.  
  6. if (in_array($plik , $mojplik)) {
  7.    echo "Znaleziono Irix";
  8. }
  9. else {
  10. if (is_writeable($nazwa_pliku))
  11.  {
  12.   if ($r = fopen($nazwa_pliku, "a"))
  13.     {
  14.      if (fwrite($r, $plik) !== FALSE)
  15. echo 'dziala';
  16.  
  17.        else echo "Zapis do pliku się nie powiódł...";
  18.  
  19.      fclose($r);
  20.  
  21.     } else echo "Nie mogę nawiązać połączenia z plikiem...";
  22. //30
  23.  } else echo "Do pliku nie można dopisać informacji lub on nie istnieje...";
  24. }
  25. ?>

Jest to fragment mojego całego kodu. Ma on sprawdzać czy $k znajduje się w pliku i jeśli nie to dopisać ją. Jednak skrypt nie przefiltrowuje zmiennych lecz wszystkie dopisuje. Co w tym kodzie jest nie tak?
melkorm
dobrze ... ale jak wygląda plik ? I gdzie jest fopen ? ohmy.gif - ahh już widze dobra tongue.gif

dopisywać do pliku możesz na zasadzie 'string;' i wtedy nie musisz się bawić w file, tylko odrazu fopen, fread , explode po średniku wtedy in array dopisać lub nie smile.gif
dark_root
Chodzi Ci o plik, gdzie zapisują się dane czy o zmienną plik? Jeżeli chodzi o zmienną plik to składa się ona z ;<br> i $k, która wynosi www.example.pl/$l, gdzie $l to ciąg znaków pobierany z pewnego pliku źródłowego.
melkorm
  1. <?php
  2. $p = fopen("test", "r+");
  3. $tresc = fread($p, filesize("test"));
  4. $tab = explode(';', $tresc);
  5. if(in_array($szukane , $tab)) {
  6.     echo "Znaleziono Irix";
  7. }
  8. else {
  9.    //tutaj sparwdzeni pliku czy mozna zpaisac itp
  10.    fwrite($p , implode(';',$tab).$k.';'); //tutaj wrzucenie tego do warunku itp
  11. }
  12. fclose($p);
  13. ?>


spróbuj coś takeigo winksmiley.jpg
dark_root
ok, pozmieniam go, żeby współpracował z resztą mojego kodu i dam znać czy działa.
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.