fopen
kończy się niepowodzeniem, gdy próbuję odczytać w pliku o bardzo umiarkowanym rozmiarze w PHP
. A 6 meg file
sprawia, że się dusi, choć mniejsze pliki około 100k
są w porządku. Czytałem, że czasami konieczna jest ponowna kompilacja PHP
z flagą -D_FILE_OFFSET_BITS=64
w celu odczytania plików z ponad 20 koncertów lub coś niedorzecznego, ale czy nie powinienem mieć problemów z plikiem 6 megapikselowym? W końcu będziemy chcieli czytać pliki o wielkości około 100 meg, i byłoby mi miło móc je otworzyć, a następnie odczytać je wiersz po wierszu za pomocą fgetów, tak jak w przypadku mniejszych plików.Czytanie bardzo dużych plików w PHP
Jakie są twoje sztuczki/rozwiązania do czytania i wykonywania operacji na bardzo dużych plikach w PHP
?
Aktualizacja: Oto przykład prostego bloku kodu, który zawodzi w moim pliku 6 megaplików - PHP nie wydaje się zgłaszać błędu, po prostu zwraca wartość false. Może robię coś wyjątkowo głupiego?
$rawfile = "mediumfile.csv";
if($file = fopen($rawfile, "r")){
fclose($file);
} else {
echo "fail!";
}
Kolejna zmiana: Dzięki wszystkim za pomoc, to nie okazać się coś niewiarygodnie głupiego - problem uprawnienia. Mój mały plik miał niewytłumaczalnie uprawnienia do odczytu, gdy większy plik nie był. Doh!
Są po prostu stara się przekazać plik thru? to znaczy. Pobieranie? A może w jakimś celu analizujesz dane w plikach? Dzięki. – DreamWerx
to nie powinno zawieść bez generowania ostrzeżenia/błędu. Proszę włączyć wszystkie błędy za pomocą error_reporting (E_ALL) i upewnić się, że display_errors są włączone, aby wyświetlały się w przeglądarce, lub sprawdź dziennik błędów serwera. –