PHP實現圖片上傳與顯示功能的完整指南

本篇 ShengYu 介紹 PHP 圖片上傳範例,在現代網頁應用程式中,圖片上傳是一個常見且重要的功能。無論是社交媒體平台還是電子商務網站,讓使用者能夠輕鬆上傳並顯示圖片是一個基本需求。在這篇文章中,我們將詳細介紹如何使用PHP來實現圖片上傳並顯示的功能。

1. 建立HTML表單

首先,我們需要一個HTML表單,讓使用者可以選擇並上傳圖片。這個表單應該包含一個檔案輸入欄和一個送出按鈕,並且要設定enctype="multipart/form-data"屬性以支援檔案上傳。

1
2
3
4
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="image">
<input type="submit" value="Upload Image" name="submit">
</form>

2. 處理圖片上傳的PHP腳本

當使用者送出表單後,我們需要一個PHP腳本來處理上傳的圖片。在這裡,我們將建立一個名為upload.php的檔案,來處理檔案上傳的邏輯。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
// 允許上傳的圖片類型
$allowed_types = array('image/jpeg', 'image/png', 'image/gif');

// 上傳資料夾
$upload_dir = 'uploads/';

if ($_FILES['image']) {
// 檢查檔案類型是否允許
if (in_array($_FILES['image']['type'], $allowed_types)) {
$upload_file = $upload_dir . basename($_FILES['image']['name']);

// 嘗試將檔案從臨時位置移動到上傳資料夾
if (move_uploaded_file($_FILES['image']['tmp_name'], $upload_file)) {
echo "檔案上傳成功.";
} else {
echo "上傳過程中出現問題.";
}
} else {
echo "只允許上傳 JPG, JPEG, PNG 和 GIF 類型的圖片.";
}
}
?>
  • $_FILES['image']包含了上傳檔案的相關資訊,例如檔案名、臨時檔案路徑等。
  • move_uploaded_file()函式用於將臨時檔案移動到指定的上傳資料夾。
  • 透過in_array()函式檢查檔案類型是否在允許的類型清單中。

3. 顯示上傳的圖片

最後,我們需要在頁面上顯示剛剛上傳的圖片。我們可以在同一個或另一個PHP頁面中,透過遍歷上傳資料夾來顯示所有已上傳的圖片。

1
2
3
4
5
6
7
8
<?php
$upload_dir = 'uploads/';
$images = glob($upload_dir . '*.{jpg,jpeg,png,gif}', GLOB_BRACE);

foreach ($images as $image) {
echo '<img src="' . $image . '" alt="Uploaded Image">';
}
?>

glob()函式是用於取得上傳資料夾中所有符合指定副檔名的圖片檔案。之後使用<img>標籤將每張圖片顯示出來。

注意事項

  • 權限設定:確保上傳資料夾有足夠的權限,允許PHP腳本寫入檔案。
  • 安全性:考慮安全性問題,例如檔案類型驗證和檔案名處理,防止潛在的安全漏洞。
  • 擴展功能:根據具體需求,可以進一步新增檔案大小限制、重命名檔案等功能。

透過以上步驟,你應該能夠輕鬆實現圖片上傳並顯示的功能。

以上就是 PHP 圖片上傳範例介紹,
如果你覺得我的文章寫得不錯、對你有幫助的話記得 Facebook 按讚支持一下!

其它相關文章推薦
如果你想學習 PHP 相關技術,可以參考看看下面的文章,
如何使用 PHP 上傳圖片儲存到 MySQL 資料庫並顯示圖片
PHP 和 PDO 進行資料庫操作
PHP 執行發生錯誤在 Chrome/Firefox 上顯示 Error 500,要怎麼讓 PHP 顯示錯誤
如何使用 PHP 上傳檔案:步驟與範例指南
如何在 PHP 中實現上傳檔案並儲存到 MySQL 資料庫