move_uploaded_file
(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)
move_uploaded_file — 將上傳的檔案移動到新位置
說明
move_uploaded_file(string
$filename
, string $destination
): bool
本函式檢查並確保由 filename
指定的檔案是合法的上傳檔案(即通過 PHP 的 HTTP POST
上傳機制所上傳的)。如果檔案合法,則將其移動為由
destination
指定的檔案。
這種檢查顯得格外重要,如果上傳的檔案有可能會造成對使用者或本系統的其他使用者顯示其內容的話。
參數
-
filename
-
上傳的檔案的檔名。
-
destination
-
移動檔案到這個位置。
返回值
成功時返回 true
。
如果 filename
不是合法的上傳檔案,不會出現任何操作,move_uploaded_file()
將返回 false
。
如果 filename
是合法的上傳檔案,但出於某些原因無法移動,不會出現任何操作,move_uploaded_file()
將返回 false
。此外還會發出一條警告。
範例
示例 #1 Uploading multiple files
<?php
$uploads_dir = '/uploads';
foreach ($_FILES["pictures"]["error"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["pictures"]["tmp_name"][$key];
$name = $_FILES["pictures"]["name"][$key];
move_uploaded_file($tmp_name, "$uploads_dir/$name");
}
}
?>
註釋
注意:
move_uploaded_file() 對 open_basedir 是敏感的。不過,限制只針對
destination
路徑,因為允許移動上傳的檔名filename
可能會與這些限制產生衝突。move_uploaded_file() 僅作用於通過 PHP 上傳的檔案以確保這個操作的安全性。
警告
如果目標檔案已經存在,將會被覆蓋。