<? include 'funkcje.php'; echo '<form action="dodaj.php" method="POST"> <input type="hidden" name="add" value="dodaj" /> <input type="submit" value="dodaj" /> </form>'; $add = $_POST['add']; if ($add == 'dodaj') { $separator = "\n"; conn(); //funkcja łączenia z bazą { { $polskie[] = $linia; $query = "INSERT INTO polskie SET slowo = '$linia';"; } else { $inne[] = $linia; $query = "INSERT INTO inne SET slowo = '$linia';"; } } //poniższa część służyła do zapisu danych do pliku, jednak na razie chcę je zapisać w bazie danych. /* sort($polskie); sort($inne); $pol = implode("\n",$polskie); $inn = implode("\n",$inne); file_put_contents('polskie.txt',$pol); file_put_contents('inne.txt',$inn); */ } ?>
Skrypt działa, radzi sobie z małymi plikami, jednak problem jest z większymi.
Korzystając z file_get_contents poradził sobie z plikiem ponad 1mb (2mb już nie chwycił).
Gdy korzystałem wcześniej z fopen, fread itd, nawet 1mb był dla niego za duży.
Początkowo wyskakiwała informacja, że czas wykonywania skryptu jest za długi, jednak po dodaniu linii
conn(); //funkcja łączenia z bazą
skrypt działa dłużej, ale ostatecznie wysypuje się po kilkunastu minutach przeglądarka.
Najwyraźniej skrypt nie radzi sobie z pierwszą częścią - odczytem pliku i wystartowaniem z pętlą, gdyż do bazy nie są dodawane żadne rekordy.
Zależy mi, aby skrypt radził sobie przynajmniej z plikami 5mb, a najlepiej by było, gdyby ugryzł taki, co waży 40mb.
Fajnie by też było, gdyby nie trzeba było całkiem przerabiać skryptu, aby czytał częściami, czy coś w tym stylu.
W razie czego mogę zmienić rozszerzenie/format pliku z txt na coś innego, mam dostęp do pliku php.ini na serwerze.