定義和用法
is_uploaded_file() 函式判斷指定的檔案是否是通過 HTTP POST 上傳的。
語法
說明
如果 file 所給出的檔案是通過 HTTP POST 上傳的則返回 TRUE。
該函式可以用於確保惡意的用戶無法欺騙腳本去訪問本不能訪問的檔案,例如 /etc/passwd。
這種檢查顯得格外重要,如果上傳的檔案有可能會造成對用戶或本系統的其他用戶顯示其內容的話。
提示和注釋
注釋:本函式的結果會被
快取。請使用 clearstatcache() 來清除快取。
例子
<?php $file = "test.txt"; if(is_uploaded_file($file)) { echo ("$file is uploaded via HTTP POST"); } else { echo ("$file is not uploaded via HTTP POST"); } ?> |
輸出:
test.txt is not uploaded via HTTP POST |
實例
例如#
<?php
if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
echo "File ". $_FILES['userfile']['name'] ." uploaded successfully.n";
echo "Displaying contentsn";
readfile($_FILES['userfile']['tmp_name']);
} else {
echo "Possible file upload attack: ";
echo "filename '". $_FILES['userfile']['tmp_name'] . "'.";
}
?>
PHP Filesystem 函式