Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] kopiowanie pliku do bazy
Forum PHP.pl > Forum > Przedszkole
novy85
witam,

mam taki plik z kodami, wygląda on mniej więcej tak:

8EXZUZR2
91LBQJ4D
DZ11DL6F
SQJRAWSL
JG5X559Q
H2UTJY6J
N4AG32H2
ZVN8P143
SQDBE2CM

zrobiłem sobie skrypt, który kopiuje każdą linijke po kolei do nowego wiersza, ale coś jest jeszcze zapisywane czego niewidać, ponieważ kiedy przeszukuję bazę po tych kodach to wywala mi, że nie ma takiego kodu (chociaż w bazie jest). sprawdziłem i wpisałem jeden z kodów ręcznie w identycznej formie jak jest zapisany w pliku i wtedy znalazłem ten kod.

Co może być tam jeszcze zapisywane, może jakieś znaki końca lini, czy coś takiego a jeżeli są zapisywane tam jakieś znaki to jak je usunąć, albo jak to skopiować żeby było dobrze?
PiXel2.0
Pokaz skrypt ktory zapisuje te linie do bazy i skrypt ktory sprawdza czy dany wiersz w bazie istnieje bo tak na sucho to trudno cos powiedziec...
strife
Cytat(novy85 @ 17.05.2008, 19:40:53 ) *
zrobiłem sobie skrypt, który kopiuje każdą linijke po kolei do nowego wiersza[..]

Pokaż ten skrypt winksmiley.jpg

Pozdrawiam.

PS. Spróbuj w pętli sprawdzać każdą ostatnią linijkę i dopiero gdy != NULL wtedy zapisuj, wtedy nawet jak będziesz miał pustą linijkę to i tak się nic nie stanie, np.

  1. <?php
  2. foreach (file('tekstowy.txt') as $v) {
  3. if (trim($v)) {
  4. // zapisuj do bazy
  5. }
  6. }
  7. ?>
novy85
coś takiego

  1. <?php
  2. $adres='kody.txt';
  3. $aLogFilePath = $adres;
  4. $aCountArray = array();
  5.  if ( is_file( $aLogFilePath ) == true )
  6. {
  7.  $aFile = fopen( $aLogFilePath, "r" );
  8.  
  9. while ($kod = fgets($aFile)) {
  10.  
  11. //dodawanie do bazy
  12.  
  13. }
  14. fclose( $aFile );
  15. }
  16. ?>


aha zapomniałem o sprawdzeniu

po prostu:
  1. <?php
  2. $jest=mysql_num_rows(mysql_query("SELECT * FROM kody WHERE kod='$kod'"));
  3.  
  4. if($jest>0)
  5. //kod jest
  6. else
  7. //kodu nie ma
  8. ?>


coś takiego
Crozin
  1. <?php
  2.  
  3. //dodawnie kodów
  4.  
  5. $file = file('plikZKodami.txt');
  6. foreadch($file as $code){
  7. $code = trim($code);
  8. //dodanie do bazy
  9. }
  10.  
  11. //odczytywanie
  12.  
  13. $kod = 'DDB321';
  14.  
  15. $db->getRow('SELECT * FROM table WHERE code = %s', $kod);
  16.  
  17. ?>
PiXel2.0
W tym kodzie nie widze bledow, ale lepiej do tego celu stosowac file() tak jak kolega napsal wyzej.
Jesli reszta kodu jest poprawna to moze problemem sa odwrotne ukosniki ?
Jak pobierasz dane z $_GET, $_POST lub $_COOKIE to sprawdz get_magic_quotes_gpc() i jak trzeba to uzyj stripslashes() a przy wlaczaniu tych danych do zapytania uzyj mysql_escape_string() lub mysql_real_escape_string().
Sprawdz tez get_magic_quotes_runtime() bo gdy pobierasz dane z pliku lub bazy to rowniez powinienes stosowac stripslashes() lub deklaracja set_magic_quotes_runtime(0) na poczatku skryptu.
novy85
trim załatwił wszystko dzięki za pomoc
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.