在Web開發中,上傳文件是非常常見的操作,在php中可以使用$_FILES(一個超全局變量)來管理上傳的文件。本文將著重介紹$_FILES的各個屬性和一些實例應用。
在使用$_FILES之前,需要確保表單的enctype屬性被設置為"multipart/form-data",否則無法正確上傳文件。
<form action="upload.php" method="post" enctype="multipart/form-data"> <input type="file" name="file"> <input type="submit" value="Upload"> </form>
$_FILES由五個屬性組成,分別為name、type、tmp_name、error和size。其中name和type代表文件的名稱和類型;tmp_name是文件上傳后的臨時名稱;error是錯誤信息,若沒有錯誤則為0;size則代表文件的大小。
$file = $_FILES['file']; echo '文件名:' . $file['name'] . '
'; echo '文件類型:' . $file['type'] . '
'; echo '臨時文件名:' . $file['tmp_name'] . '
'; echo '文件大?。? . $file['size'] . '字節
';
$_FILES經常用于文件上傳,下面是一個完整的文件上傳實例:
<?php $allowedTypes = array('image/jpeg', 'image/png', 'image/gif'); $maxSize = 1024*1024*2; // 2MB $dir = 'uploads/'; if(isset($_FILES['file'])) { $file = $_FILES['file']; // 檢查文件類型 if(!in_array($file['type'], $allowedTypes)) { echo "只允許上傳JPG、PNG和GIF格式的圖片"; exit; } // 檢查文件大小 if($file['size'] >$maxSize) { echo "上傳文件最大為2MB"; exit; } // 檢查文件是否存在 $filename = $dir . $file['name']; if(file_exists($filename)) { echo "該文件已存在,請重新上傳"; exit; } // 移動上傳文件到指定路徑 if(move_uploaded_file($file['tmp_name'], $filename)) { echo "文件上傳成功"; } else { echo "文件上傳失敗"; } } ?>
本文展示了$_FILES的基本屬性及其使用方法,希望能對讀者學習php文件上傳有所幫助。
上一篇java并行和并發的區別
下一篇php 'tr'