--- tags: 挑戰PHP7/MySQL程式設計與超強專題特訓班(第四版) --- # ch9 檔案的處理(9.2與9.3) ## 9.2 資料夾的處理 & 9.3 檔案的處理 ### 9.2 資料夾的處理 ### 資料夾的建立、更名、刪除與切換 ### mkdir():建立資料夾 ``` mkdir(資料夾路徑 [,存取權限]) ``` 若不設定其預設值是0777,表示為最大權限。 ### rmdir():刪除資料夾 ``` rmdir(資料夾路徑) ``` rmdir()函式只能**刪除空的資料夾** ### rename():資料夾更名 ``` rename(舊資料夾路徑名稱,新資料夾路徑名稱) ``` ### chdir():切換資料夾 ``` chdir(資料夾路徑) ``` ### chmod():設定或變更檔案資料夾權限 ``` chmod(檔案或資料夾路徑,存取權限) ``` ----- ### 讀取資料夾內容 如何一次將指定資料夾中的檔案與資料夾檔名讀出來呢? ### => 使用 opendir()、readdir()與closedir()函式 1. opendir() 開啟資料夾,其語法如下: ``` 資源變數 = opendir(資料夾路徑) ``` 2. readdir() 讀取資料夾內容,其語法如下: ``` readdir(資源變數) ``` 3. closedir() 關閉資料夾資源,其語法如下: ``` closedir(資源變數) ``` ### 一次將指定的資料夾中的檔案與資料夾檔名讀出來 ``` <?php $fileDir = "C:\\XAMPP\PHP"; $fileResource = opendir($fileDir); echo "<table border='1' width='100%'><tr><td width='20%' valign='top'>資料夾:</td><td>"; while($fileList = readdir($fileResource)){ if(is_dir($fileDir.'\\'.$fileList)) echo $fileList."<br />"; } rewinddir($fileResource); echo "</td></tr><tr><td width='20%' valign='top'>檔案:</td><td>"; while($fileList = readdir($fileResource)){ if(is_file($fileDir.'\\'.$fileList))echo $fileList."<br />"; } echo "</td></tr></table>"; closedir($fileResource); ?> ``` ![](https://i.imgur.com/e02QQij.png) ### 使用 scandir() 函式讀取資料夾內容 ``` scandir(資料夾路徑 [,排序方式]) ``` 其中排序方式若沒有設定,預設為遞升排序,若值為 1 則代表遞減排序。 ![](https://i.imgur.com/ZjtpxpQ.png) ------- ### 9.3 檔案的處理 ### unlink():刪除檔案 ``` unlink(檔案路徑) ``` ### copy():複製檔案 ``` copy(檔案路徑,複製標的檔案路徑) ``` copy() 函式會直接將檔案覆蓋掉而不顯示任何警告訊息。 ### 更改檔案修改、存取時間 ### 檔案改名及修改權限 --------- ### [9.4 檔案上傳](https://hackmd.io/pHFKMZobT9CGlvUQkvEMtQ)