2010-04-01 21 views
9

Ho bisogno di leggere un file in PHP, ma conosco solo la fine del nome del file, quindi ho bisogno di serchare il file in una determinata directory usando i caratteri jolly: * nomefile.wav e quindi restituirlo al browser. Esiste una funzione per farlo? o ho bisogno di ottenere tutti i file nella directory e poi cercare uno per uno?PHP: Come cercare un file usando i caratteri jolly

Grazie per tutti i commenti e l'aiuto.

risposta

21

Date un'occhiata alla funzione di glob()

Per esempio, se si voleva ottenere tutti i file corrispondenti *abc.xyz nella sottodirectory dir

$matches = glob('./dir/*abc.xyz'); 

Nota che glob non è ricorsiva e sarà solo cercare una singola directory e non tutte le sottodirectory.

4

Oltre a Yacoby's answer, vorrei aggiungere che una nuova classe GlobIterator è stato aggiunto alla PHP> = 5.3.

Essa permette di utilizzare i caratteri jolly, allo stesso modo di glob() fa - ma, in ulteriore:

  • Tt implementa l'interfaccia Iterator
  • È possibile farlo funzionare restituendo istanza del SplFileInfo classe


Tante cose utili nello SPL (Standard PHP Library), e nessuno ci pensava mai ... Non ho potuto resistere.

Problemi correlati