file_exists » performance

3

Trywialny temat: porównanie czasu wykonania poszczególnych funkcji sprawdzających dostępność pliku.

Testy zostały przeprowadzone na wersji php:
1

W każdej iteracji funkcja sprawdzała jeden losowy plik spośród 20 tysięcy istniejących. Po każdym wykonaniu funkcji wywoływano funkcję clearstatcache celu opróżnienia cache. Wyniki prezentują się następująco:2

W zestawieniu znalazła się również funkcja stream_resolve_include_path ze względu na http://php.net/file_exists

Warning This function returns FALSE for files inaccessible due to safe mode restrictions. However these files still can be included if they are located in safe_mode_include_dir.

W sytuacji includowania to, że plik istnieje nie oznacza, że jest gotowy do odczytu. Poprawniejszym rozwiązaniem jest wykorzystanie: http://php.net/stream_resolve_include_path

Resolve filename against the include path according to the same rules as fopen()/ include.

Pozostałe wnioski pozostawiam czytelnikom :)

Autorem tekstu jest Marek Rode.

Zobacz również artykuły o podobnej tematyce

Podsumowanie Q3 2017 w i-systems
wolczanka

Lipiec, sierpień, wrzesień już za nami. Przyszedł więc czas na kolejne podsumowanie, tym razem trzeciego kwartału 2017 roku w i-systems....

Lokalne środowisko z użyciem Vagranta
1

W jednym z poprzednich artykułów mój imiennik, czyli Łukasz wspominał jak uprościć sobie pracę z wirtualnymi hostami. Ja zaprezentuję kolejny...

Drużyna i-systems
jim_blog

Na początku i-systems tworzyło tylko dwóch pracowników. Dziś firma to zgrany i silny zespół niemal 100 specjalistów z branży e-commerce, którzy...

Zobacz więcej wpisów