(PHP 4 >= 4.0.3, PHP 5)
move_uploaded_file — 將上傳的文件移動到新位置
說明
bool move_uploaded_file ( string$filename
, string $destination
)
本函數(shù)檢查并確保由 filename
指定的文件是合法的上傳文件(即通過 PHP 的 HTTP POST
上傳機(jī)制所上傳的)。如果文件合法,則將其移動為由
destination
指定的文件。
這種檢查顯得格外重要,如果上傳的文件有可能會造成對用戶或本系統(tǒng)的其他用戶顯示其內(nèi)容的話。
參數(shù)
filename
上傳的文件的文件名。
destination
移動文件到這個(gè)位置。
返回值
成功時(shí)返回 TRUE
。
如果 filename
不是合法的上傳文件,不會出現(xiàn)任何操作,move_uploaded_file()
將返回 FALSE
。
如果 filename
是合法的上傳文件,但出于某些原因無法移動,不會出現(xiàn)任何操作,move_uploaded_file()
將返回 FALSE
。此外還會發(fā)出一條警告。
范例
Example #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");
}
}
?>
注釋
Note:
move_uploaded_file() 對安全模式和
open_basedir 都是敏感的。不過,限制只針對
destination
路徑,因?yàn)樵试S移動上傳的文件名
filename
可能會與這些限制產(chǎn)生沖突。move_uploaded_file()
僅作用于通過 PHP 上傳的文件以確保這個(gè)操作的安全性。
如果目標(biāo)文件已經(jīng)存在,將會被覆蓋。
參見
is_uploaded_file() - 判斷文件是否是通過 HTTP POST 上傳的 rename() - 重命名一個(gè)文件或目錄 參見文件上傳處理一章中的簡單使用例子。