在PHP中執行文件上傳之前,可以先使用is_uploaded_file()函數判斷指定的文件是不是通過HTTP POST上傳的,如果是則返回true,可以使用move_uploaded_file()函數繼續執行文件的上傳操作,同時能夠將文件上傳到服務器中指定的位置,否則將不能繼續執行文件的上傳操作。
示例
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>PHP使用is_uploaded_file()函數和move_uploaded_file()函數將上傳文件移動到指定目錄示例-www.baike369.com</title>
</head>
<body>
<form action="" method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="2000000" />
選擇文件:<input type="file" name="upfile" />
<input type="submit" name="sub" value="上傳" />
</form>
<?php
if(isset($_POST['sub'])){ // isset()函數判斷提交按鈕值是否存在
if(!is_dir("images")){ // is_dir()函數判斷指定的文件夾是否存在
mkdir("images"); // mkdir()函數創建文件夾
}
$file=$_FILES['upfile']; // 獲取上傳文件
if(is_uploaded_file($file['tmp_name'])){ // 判斷上傳是不是通過HTTP POST上傳的
$str=stristr($file['name'],'.'); // stristr()函數獲取上傳文件的后綴
// strtotime()函數定義一個Unix時間戳
$path="images/".strtotime("now").$str; // 定義上傳文件的存儲位置
if(move_uploaded_file($file['tmp_name'],$path)){ // 執行文件上傳操作
echo "上傳成功,文件名稱為:".strtotime("now").$str;
}
}
}
?>
</body>
</html>
在瀏覽器中查看PHP將上傳文件移動到指定目錄的顯示效果。如下圖所示:

