在PHP 項目中,有時需要將文件直接上傳到服務器根目錄。實現這一功能主要包括文件上傳處理、文件類型驗證以及生成唯一文件名等步驟。
<?php // 指定允許上傳的文件類型 $allowedTypes = ['image/jpeg', 'image/png', 'image/gif']; // 上傳文件 if (isset($_FILES['file']) && $_FILES['file']['error'] == 0) { // 獲取文件類型 $fileType = $_FILES['file']['type']; // 檢查文件類型是否允許 if (!in_array($fileType, $allowedTypes)) { echo '不允許的文件類型。'; exit; } // 獲取文件擴展名 $extension = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION); // 生成新文件名(用時間戳加隨機值) $newFileName = time() . '_' . rand(1, 999) . '.' . $extension; // 移動文件到根目錄 $uploadPath = getcwd() . '/' . $newFileName; move_uploaded_file($_FILES['file']['tmp_name'], $uploadPath); echo '文件上傳成功!'; } else { echo '文件上傳失敗。'; } ?>
在前端,需要提供文件上傳的表單:
<form action="upload.php" method="post" enctype="multipart/form-data"> <input type="file" name="file"> <input type="submit" value="上傳"> </form>
以上方法可以幫助您安全地將文件上傳到PHP 服務器的根目錄。在上傳過程中,確保對文件類型進行驗證,並使用唯一的文件名以防覆蓋已有文件。通過合理的前端表單和後台處理,文件上傳操作可以簡單且高效地完成。