共計 1186 個字符,預計需要花費 3 分鐘才能閱讀完成。
實現文件上傳功能,可以按照以下步驟進行:
- 在表單中添加一個文件上傳的輸入框,例如:
- 在 服務器 端處理上傳的文件,可以使用 PHP 內置的文件上傳函數
move_uploaded_file()
,例如:
$target_dir = "uploads/"; // 上傳文件保存的目錄
$target_file = $target_dir . basename($_FILES["file"]["name"]); // 上傳文件的完整路徑
$uploadOk = 1; // 上傳是否成功的標志
// 檢查文件是否已經存在
if (file_exists($target_file)) {
echo "對不起,該文件已經存在。";
$uploadOk = 0;
}
// 檢查文件大小是否超過限制
if ($_FILES["file"]["size"] > 500000) {
echo "對不起,文件太大。";
$uploadOk = 0;
}
// 允許上傳的文件類型
$allowed_types = array("jpg", "png", "jpeg", "gif");
$file_type = strtolower(pathinfo($target_file, PATHINFO_EXTENSION));
if (!in_array($file_type, $allowed_types)) {
echo "對不起,只允許上傳 JPG, JPEG, PNG 和 GIF 文件。";
$uploadOk = 0;
}
// 檢查上傳是否成功
if ($uploadOk == 0) {echo "對不起,文件上傳失敗。";} else {if (move_uploaded_file($_FILES["file"]["tmp_name"], $target_file)) {echo "文件上傳成功。";} else {echo "對不起,文件上傳失敗。";}
}
以上代碼中,$_FILES
是 PHP 全局變量,存儲了上傳的文件信息,包括文件名、臨時文件名、文件類型、文件大小等。move_uploaded_file()
函數將臨時文件移動到指定的目錄中,如果移動成功,則說明文件上傳成功。
- 在上傳文件的目錄中保存上傳的文件。在本例中,上傳文件保存在
uploads/
目錄中。可以通過以下代碼創建目錄:
$target_dir = "uploads/";
if (!file_exists($target_dir)) {mkdir($target_dir, 0777, true);
}
以上代碼中,mkdir()
函數用于創建目錄,參數 0777
表示目錄的權限,true
表示遞歸創建子目錄。
- 在上傳文件時,為了防止惡意文件上傳,需要進行一些安全檢查。例如,可以檢查文件類型、文件大小、文件是否已經存在等。可以使用 PHP 內置的函數進行這些檢查,例如
file_exists()
、strtolower()
、pathinfo()
等。如果檢查失敗,則不允許上傳文件。
丸趣 TV 網 – 提供最優質的資源集合!
正文完