在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將上傳文件移動到指定目錄的顯示效果。如下圖所示: