將上傳的檔案移動到新位置

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 上傳的檔案以確保這個操作的安全性。

警告

如果目標檔案已經存在,將會被覆蓋。

參見

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *