---
# System prepended metadata

title: ch9 檔案的處理(9.2與9.3)
tags: [挑戰PHP7／MySQL程式設計與超強專題特訓班(第四版)]

---

---
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)