天天看點

一句代碼删除目錄下檔案

前言

想必很多人都會寫幾行甚至幾十行代碼使其列出所有檔案變為數組進行删除,但是glob函數分分鐘解決問題!下面來一起看看詳細的介紹吧。

glob文法說明:

?

1

<code>array</code> <code>glob</code> <code>( string</code><code>$pattern</code> <code>[, int</code><code>$flags</code> <code>= 0 ] )</code>

glob() 函數依照 libc glob() 函數使用的規則尋找所有與 pattern 比對的檔案路徑,類似于一般 shells 所用的規則一樣。不進行縮寫擴充或參數替代。glob使用正則比對路徑功能強大。

flags 有效标記有: 

GLOB_MARK - 在每個傳回的項目中加一個斜線

GLOB_NOSORT - 按照檔案在目錄中出現的原始順序傳回(不排序)

GLOB_NOCHECK - 如果沒有檔案比對則傳回用于搜尋的模式

GLOB_NOESCAPE - 反斜線不轉義元字元

GLOB_BRACE - 擴充 {a,b,c} 來比對 ‘a','b' 或 ‘c'

GLOB_ONLYDIR - 僅傳回與模式比對的目錄項

GLOB_ERR - 停止并讀取錯誤資訊(比如說不可讀的目錄),預設的情況下忽略所有錯誤

例子 1

2

3

<code>&lt;?php</code>

<code>print_r(</code><code>glob</code><code>(</code><code>"*.txt"</code><code>));</code>

<code>?&gt;</code>

輸出類似:

4

5

6

7

<code>Array</code>

<code>(</code>

<code>[0] =&gt; target.txt</code>

<code>[1] =&gt; source.txt</code>

<code>[2] =&gt; test.txt</code>

<code>[3] =&gt; test2.txt</code>

<code>)</code>

例子 2

<code>print_r(</code><code>glob</code><code>(</code><code>"*.*"</code><code>));</code>

8

9

10

11

12

13

<code>[0] =&gt; contacts.csv</code>

<code>[1] =&gt; default.php</code>

<code>[2] =&gt; target.txt</code>

<code>[3] =&gt; source.txt</code>

<code>[4] =&gt; tem1.tmp</code>

<code>[5] =&gt; test.htm</code>

<code>[6] =&gt; test.ini</code>

<code>[7] =&gt; test.php</code>

<code>[8] =&gt; test.txt</code>

<code>[9] =&gt; test2.txt</code>

删除目錄下所有檔案

<code>array_map</code><code>(</code><code>'unlink'</code><code>,</code><code>glob</code><code>(</code><code>'*'</code><code>));</code>

總結

以上就是這篇文章的全部内容了,希望本文的内容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流

繼續閱讀