Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 19.11.2008 Ostrzeżenie: (0%)
|
Witam!
korzystam z skryptu który czyści pliki ze zbędnych śmieci i wygląda tak:
plik do czyszczenia nazywa się TAJECTORY, jest plikiem tekstowym i ma około 11GB. Po uruchomieniu skrypty php5 traj.php dostaje niezmiennie komunikat: PHP Warning: fopen(TRAJECTORY): failed to open stream: Value too large for defined data type in /home/bizon/TMP-obl/CHOCH2O/traj.php on line 7 nie ma takiego pliku Bardzo proszę o pomoc! Ten post edytował bizoniks 19.11.2008, 20:33:58 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%)
|
Niestety, jeśli chcesz ten plik przetwarzać w PHP, musisz go rozbić na kawałki. PHP (i nie tylko - ograniczenie to dotyczy niemałej liczby programów) nie obsługuje plików o rozmiarach większych, niż 2 GB, a główny powód to zbyt mała długość typu integer, który tutaj jest tylko i wyłącznie 32-bitowy ze znakiem. W związku z tym nie masz nawet fizycznej możliwości, by przesunąć się na pozycję powyżej tego drugiego gigabajta, bo da rady się jej wpisać. Sprawa ta jest znana od bardzo dawna; pierwotnie miała być rozwiązana w PHP 5.1, ale najprawdopodobniej nie ujrzymy wsparcia dla wielkich plików aż do wersji 6.0, co w sumie nie jest takie dziwne, ponieważ przetwarzanie 11-gigabajtowych plików to nie jest raczej rzecz, do której PHP został stworzony (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . Do wersji 5.3 istnieje patch, który w tle zapisuje pozycje i rozmiary plików jako 64-bitowy integer przepisany bit po bicie do typu double. Jednak zmienia on działanie tylko podstawowych funkcji - jeżeli jakieś rozszerzenia realizowały obsługę plików we własnym zakresie, dalej nie będą one działać. Po zaaplikowaniu patcha musisz ponownie skompilować PHP, zatem jest to sposób w zasadzie tylko na komputer domowy. Żaden hosting raczej czegoś takiego nie będzie wrzucać tym bardziej, że wersja 5.3 nie jest jeszcze gotowa. Link jednak podaję: http://news.php.net/php.internals/32767
|
|
|
|
Post
#3
|
|
|
Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 |
Proszę o dodanie bbcode, w innym wypadku temat zostanie zamknięte.
|
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 19.11.2008 Ostrzeżenie: (0%)
|
Zmienione. Przepraszam za kłopot.
|
|
|
|
![]() ![]() |
|
Aktualny czas: 20.12.2025 - 22:07 |