當前位置: 首頁> 最新文章列表> PHP圖片上傳與顯示功能詳解

PHP圖片上傳與顯示功能詳解

gitbox 2025-07-18

PHP圖片上傳與顯示功能詳解

在現代網站開發中,圖片上傳和顯示是一個常見且重要的功能。本文將詳細介紹如何使用PHP實現圖片上傳並顯示,幫助開發者快速掌握這項技能,提升用戶體驗。

PHP上傳圖片的基本步驟

上傳圖片的過程通常分為幾個步驟:創建HTML表單、處理上傳的文件、驗證文件的有效性、並將文件保存到服務器。以下是一個簡單的HTML上傳表單示例:

在這個表單中,用戶可以選擇要上傳的圖片,提交後,PHP腳本將處理該文件。

接收和處理上傳的圖片

在upload.php文件中,我們需要編寫代碼來接收上傳的文件並進行處理。以下是處理文件上傳的示例代碼:

 if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $target_dir = "uploads/";
    $target_file = $target_dir . basename($_FILES["image"]["name"]);
    $uploadOk = 1;
    $imageFileType = strtolower(pathinfo($target_file, PATHINFO_EXTENSION));

    // 檢查是否是圖片
    $check = getimagesize($_FILES["image"]["tmp_name"]);
    if($check !== false) {
        echo "文件是一個圖片 - " . $check["mime"] . ".";
        $uploadOk = 1;
    } else {
        echo "文件不是圖片.";
        $uploadOk = 0;
    }

    // 檢查文件大小
    if ($_FILES["image"]["size"] > 500000) {
        echo "抱歉,您的文件過大.";
        $uploadOk = 0;
    }

    // 只允許特定的文件格式
    if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif") {
        echo "抱歉,僅支持 JPG, JPEG, PNG & GIF 文件.";
        $uploadOk = 0;
    }

    // 檢查$uploadOk是否為0,表示上傳失敗
    if ($uploadOk == 0) {
        echo "抱歉,您的文件未能上傳.";
    } else {
        if (move_uploaded_file($_FILES["image"]["tmp_name"], $target_file)) {
            echo "文件 " . htmlspecialchars(basename($_FILES["image"]["name"])) . " 已成功上傳.";
        } else {
            echo "抱歉,上傳文件時發生錯誤.";
        }
    }
}

在這段代碼中,首先檢查上傳的文件是否有效,接著驗證文件類型和大小。上傳成功後,文件將被移動到指定的目錄。

顯示上傳的圖片

成功上傳後,我們可以從指定的目錄中讀取圖片並在網頁上顯示。下面是一個示例代碼,用於顯示上傳的圖片:

 $dir = "uploads/";
$images = glob($dir . "*.{jpg,jpeg,png,gif}", GLOB_BRACE);
foreach($images as $image) {
    echo "<img src='" . $image . "' alt='Uploaded Image' />";
}

在這段代碼中,我們使用了glob()函數獲取指定目錄下的所有圖片文件,並通過循環展示它們。確保根據需求調整圖片的顯示樣式。

總結

本文詳細介紹瞭如何使用PHP實現圖片上傳和顯示功能。掌握這些基本步驟可以幫助開發者提升網站的功能和用戶體驗。在實際項目中,合理的安全措施和文件驗證是確保上傳功能順利運行的關鍵。

希望本文對你有幫助。如果你有任何問題或建議,歡迎在評論區留言!