Path: csiph.com!eternal-september.org!feeder.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail From: Matthew Carter Newsgroups: comp.lang.php Subject: Re: Fast PHP way to find a file given the leftmost characters of the file name Date: Mon, 07 Dec 2015 00:17:54 -0500 Organization: Ahungry (http://ahungry.com) Lines: 38 Message-ID: <87a8pmkfb1.fsf@ahungry.com> References: <87egf0k7bd.fsf@ahungry.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: mx02.eternal-september.org; posting-host="7c986cd4736462de309a749b207746fe"; logging-data="30177"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18qImbH5LvzR8fTXNsKOYJ/" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) Cancel-Lock: sha1:QU7rYhFhZKYiTg635KApg/EfezI= sha1:Fn2/aoAsM/DGBiJU0NkthDvlXFg= Xref: csiph.com comp.lang.php:15916 James Harris writes: > On 05/12/2015 19:45, Matthew Carter wrote: >> Markus Heinz writes: >> >>> Hello. >>> >>> On 2015-12-05 at 18:39 James Harris wrote: >>>> Basic query: What is the best way in PHP to find a file given just the >>>> leftmost characters of its name? I am looking for something that will >>>> scale so that it can be expected to execute quickly even if there are >>>> thousands of files in a given directory. >>> [...] >>>> Any comments? Even if you think the idea is a bad one I would appreciate >>>> the feedback. >>> >>> The glob function might be helpful to accomplish your goal: >>> > > Ideal, thanks Markus. > >> FWIW, I just tested in a directory with 50,000 files on a system with >> 1.5G RAM (and non-SD disk) and was able to get 190 matches when >> specifying the first 2 letters in 0.103 seconds using >> glob($letters.'*'), as well as similar results when specifying all the >> way to a single unique name. > > Thanks. Was that with GLOB_NOSORT included? > > James > Just the default glob call (I didn't make any optimization attempts, just wanted to get a general idea for myself). -- Matthew Carter (m@ahungry.com) http://ahungry.com