![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 260 Pomógł: 26 Dołączył: 26.01.2012 Skąd: Ci to przyszło do głowy? Ostrzeżenie: (0%) ![]() ![]() |
Witam, poszukuje skryptu kjtóry mi posortuje słowa znajdujące się w pliku tekstowym, każde słowo jest w innym wierszy, słów jest mniej niż 3 miliony, a pliczek ma rozmiar ~36MB
Dostałem od usera na forum takie coś:
Niestety nie działa, wyświetla błąd "Fatal error: Allowed memory size of 25165824 bytes exhausted (tried to allocate 36854802 bytes) in C:\AppServ\www\index.php on line 6" Ma ktos skrypt który posortuje ten plik żeby słowa były od najkrótszego do najdłuższego? -------------------- |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 778 Pomógł: 84 Dołączył: 29.07.2010 Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury. Ostrzeżenie: (20%) ![]() ![]() |
Wartość dozwolonej pamięci zdefiniowanej w php.ini została przekroczona. Zwróć się do usługodawcy o zwiększenie parametru, obecnie jest to jedynie 24MB a potrzeba ponad 34
Lub spróbuj wrzucić zaraz po <? Jeśli nie zadziała, napisz do providera o zmianę parametru memory_limit na 50M Ten post edytował toaspzoo 22.07.2012, 12:18:56 -------------------- LS Easter egg < |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 260 Pomógł: 26 Dołączył: 26.01.2012 Skąd: Ci to przyszło do głowy? Ostrzeżenie: (0%) ![]() ![]() |
tak, a teraz "Fatal error: Allowed memory size of 52428800 bytes exhausted (tried to allocate 35 bytes) in C:\AppServ\www\index.php on line 9"
Ten post edytował Beniooo 22.07.2012, 12:55:12 -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 778 Pomógł: 84 Dołączył: 29.07.2010 Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury. Ostrzeżenie: (20%) ![]() ![]() |
Daj konfigurację php.ini
-------------------- LS Easter egg < |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 260 Pomógł: 26 Dołączył: 26.01.2012 Skąd: Ci to przyszło do głowy? Ostrzeżenie: (0%) ![]() ![]() |
mam na appservie(localhost) i mam plik php.ini-dist
zawartość pliku : http://pastebin.com/XEFuJQGG -------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
nie wczytuj na raz całego pliku ;]
lub skorzystaj z tymczasowej bazy danych np. SQLite Ten post edytował zegarek84 22.07.2012, 16:31:11 -------------------- Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 260 Pomógł: 26 Dołączył: 26.01.2012 Skąd: Ci to przyszło do głowy? Ostrzeżenie: (0%) ![]() ![]() |
Wrzuciłem na xaa i teraz coś takiego Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 71 bytes)
-------------------- |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 915 Pomógł: 210 Dołączył: 8.09.2009 Skąd: Tomaszów Lubelski/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Dlaczego to musi być skrypt? PHP nie nadaje się do takich rzeczy jak sortowanie plików o takich wielkościach (chyba że zrzucimy to na bazę danych, ale tutaj PHP miałoby tylko rolę "odczytaj linię i wrzuć do bazy"). Zasadnicze pytanie jest takie: czy chcesz ten plik posortować, czy chcesz mieć skrypt w PHP, który Ci to posortuje?
Edit: Postanowiłem jednak się zabawić i napisać skrypt w PHP (bez udziału baz danych) oparty na plikach tymczasowych (w celu ograniczenia zużycia pamięci). Nie sortuje on jednak alfabetycznie, ale tylko po długości.
Co do samego jednorazowego posortowania to nie wiem jak pod Windowsem, ale polecenie, które zadziała pod Linuksem wkleiłem Ci w poprzednim wątku http://forum.php.pl/index.php?s=&showt...st&p=979723. Na windowsie możesz zainstalować sobie cygwin - konsola i narzędzia konsolowe z linuksa. Ten post edytował redeemer 23.07.2012, 11:22:07 -------------------- |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 260 Pomógł: 26 Dołączył: 26.01.2012 Skąd: Ci to przyszło do głowy? Ostrzeżenie: (0%) ![]() ![]() |
ogólnie to chce to tylko posortować, ale ksrypt też by się przydał, lecz priorytetem jest jednorazowe posortowanie
-------------------- |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 778 Pomógł: 84 Dołączył: 29.07.2010 Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury. Ostrzeżenie: (20%) ![]() ![]() |
Jeśli to nie tajemnica, to podeślij plik
![]() -------------------- LS Easter egg < |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 260 Pomógł: 26 Dołączył: 26.01.2012 Skąd: Ci to przyszło do głowy? Ostrzeżenie: (0%) ![]() ![]() |
ten który chce posortować?
http://www.gimkarpacz.xaa.pl/slowa-win.zip Odświeżam, nadal nie działa Ten post edytował Beniooo 24.07.2012, 18:02:22 -------------------- |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 778 Pomógł: 84 Dołączył: 29.07.2010 Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury. Ostrzeżenie: (20%) ![]() ![]() |
Jakie kodowanie ma ten plik tekstowy ?
-------------------- LS Easter egg < |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 260 Pomógł: 26 Dołączył: 26.01.2012 Skąd: Ci to przyszło do głowy? Ostrzeżenie: (0%) ![]() ![]() |
ANSI
-------------------- |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 778 Pomógł: 84 Dołączył: 29.07.2010 Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury. Ostrzeżenie: (20%) ![]() ![]() |
proszę http://sowa-mat.pl/sorter
-------------------- LS Easter egg < |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 260 Pomógł: 26 Dołączył: 26.01.2012 Skąd: Ci to przyszło do głowy? Ostrzeżenie: (0%) ![]() ![]() |
Dzięki Wielkie *.*
-------------------- |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 915 Pomógł: 210 Dołączył: 8.09.2009 Skąd: Tomaszów Lubelski/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Rozumiem Beniooo, że zmiana nazwy pliku w 3 linii mojego skryptu Cię przerosła?
-------------------- |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 260 Pomógł: 26 Dołączył: 26.01.2012 Skąd: Ci to przyszło do głowy? Ostrzeżenie: (0%) ![]() ![]() |
redeemer, zmieniałem, nadal błąd wywalało ale z komunikatem (tried to allocate 16 bytes)
-------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 08:49 |