Cập nhật hình ảnh trong php pdo

Tải lên tệp phía máy chủ có thể dễ dàng thực hiện bằng PHP. Có nhiều cách khác nhau để tải hình ảnh lên máy chủ và hiển thị hình ảnh trên trang web. Nói chung, trong một ứng dụng web động, hình ảnh đã tải lên được lưu trữ trong một thư mục của máy chủ và tên tệp được chèn vào cơ sở dữ liệu. Sau đó, hình ảnh được lấy từ máy chủ dựa trên tên tệp được lưu trữ trong cơ sở dữ liệu và hiển thị trên trang web

Hình ảnh có thể được tải trực tiếp lên cơ sở dữ liệu mà không cần lưu trữ trên máy chủ. Nhưng nó sẽ tăng kích thước cơ sở dữ liệu và thời gian tải trang web. Vì vậy, bạn nên tải hình ảnh lên máy chủ và lưu trữ tên tệp trong cơ sở dữ liệu. Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn toàn bộ quy trình để tải lên và lưu trữ tệp hình ảnh trong cơ sở dữ liệu MySQL bằng PHP

Mã ví dụ minh họa quy trình triển khai chức năng tải tệp lên trong ứng dụng web và chức năng sau sẽ được triển khai

  • Biểu mẫu HTML để tải lên hình ảnh
  • Tải hình ảnh lên máy chủ bằng PHP
  • Lưu trữ tên tệp trong cơ sở dữ liệu bằng PHP và MySQL
  • Lấy hình ảnh từ cơ sở dữ liệu và hiển thị trong trang web

Tạo bảng cơ sở dữ liệu

Để lưu trữ tên tệp hình ảnh, một bảng cần được tạo trong cơ sở dữ liệu. SQL sau đây tạo một bảng images với một số trường cơ bản trong cơ sở dữ liệu MySQL

CREATE TABLE `images` [
 `id` int[11] NOT NULL AUTO_INCREMENT,
 `file_name` varchar[255] COLLATE utf8_unicode_ci NOT NULL,
 `uploaded_on` datetime NOT NULL,
 `status` enum['1','0'] COLLATE utf8_unicode_ci NOT NULL DEFAULT '1',
 PRIMARY KEY [`id`]
] ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

Cấu hình cơ sở dữ liệu [dbConfig. php]

Tệp

// Database configuration
$dbHost     = "localhost";
$dbUsername = "root";
$dbPassword = "root";
$dbName     = "codexworld";

// Create database connection
$db = new mysqli[$dbHost, $dbUsername, $dbPassword, $dbName];

// Check connection
if [$db->connect_error] {
    die["Connection failed: " . $db->connect_error];
}
?>

0 được sử dụng để kết nối và chọn cơ sở dữ liệu MySQL. Chỉ định tên máy chủ cơ sở dữ liệu [
// Database configuration
$dbHost     = "localhost";
$dbUsername = "root";
$dbPassword = "root";
$dbName     = "codexworld";

// Create database connection
$db = new mysqli[$dbHost, $dbUsername, $dbPassword, $dbName];

// Check connection
if [$db->connect_error] {
    die["Connection failed: " . $db->connect_error];
}
?>

1], tên người dùng [
// Database configuration
$dbHost     = "localhost";
$dbUsername = "root";
$dbPassword = "root";
$dbName     = "codexworld";

// Create database connection
$db = new mysqli[$dbHost, $dbUsername, $dbPassword, $dbName];

// Check connection
if [$db->connect_error] {
    die["Connection failed: " . $db->connect_error];
}
?>

2], mật khẩu [
// Database configuration
$dbHost     = "localhost";
$dbUsername = "root";
$dbPassword = "root";
$dbName     = "codexworld";

// Create database connection
$db = new mysqli[$dbHost, $dbUsername, $dbPassword, $dbName];

// Check connection
if [$db->connect_error] {
    die["Connection failed: " . $db->connect_error];
}
?>

3] và tên [
// Database configuration
$dbHost     = "localhost";
$dbUsername = "root";
$dbPassword = "root";
$dbName     = "codexworld";

// Create database connection
$db = new mysqli[$dbHost, $dbUsername, $dbPassword, $dbName];

// Check connection
if [$db->connect_error] {
    die["Connection failed: " . $db->connect_error];
}
?>

0] theo thông tin đăng nhập MySQL của bạn

// Database configuration
$dbHost     = "localhost";
$dbUsername = "root";
$dbPassword = "root";
$dbName     = "codexworld";

// Create database connection
$db = new mysqli[$dbHost, $dbUsername, $dbPassword, $dbName];

// Check connection
if [$db->connect_error] {
    die["Connection failed: " . $db->connect_error];
}
?>

Tải lên biểu mẫu HTML

Tạo biểu mẫu HTML để cho phép người dùng chọn tệp họ muốn tải lên. Bảo đảm

thẻ chứa các thuộc tính sau
  • phương pháp = "đăng"
  • enctype="multipart/form-data"

Ngoài ra, đảm bảo thẻ chứa thuộc tính

// Database configuration
$dbHost     = "localhost";
$dbUsername = "root";
$dbPassword = "root";
$dbName     = "codexworld";

// Create database connection
$db = new mysqli[$dbHost, $dbUsername, $dbPassword, $dbName];

// Check connection
if [$db->connect_error] {
    die["Connection failed: " . $db->connect_error];
}
?>

1

    Select Image File to Upload:
    
    

Form upload file sẽ được gửi tới file

// Database configuration
$dbHost     = "localhost";
$dbUsername = "root";
$dbPassword = "root";
$dbName     = "codexworld";

// Create database connection
$db = new mysqli[$dbHost, $dbUsername, $dbPassword, $dbName];

// Check connection
if [$db->connect_error] {
    die["Connection failed: " . $db->connect_error];
}
?>

2 để upload ảnh lên server

Upload File lên Server và lưu trữ trong Database [upload. php]

Tệp

// Database configuration
$dbHost     = "localhost";
$dbUsername = "root";
$dbPassword = "root";
$dbName     = "codexworld";

// Create database connection
$db = new mysqli[$dbHost, $dbUsername, $dbPassword, $dbName];

// Check connection
if [$db->connect_error] {
    die["Connection failed: " . $db->connect_error];
}
?>

2 xử lý chức năng tải lên hình ảnh và hiển thị thông báo trạng thái cho người dùng

  • Bao gồm tệp cấu hình cơ sở dữ liệu để kết nối và chọn cơ sở dữ liệu MySQL
  • Lấy phần mở rộng tệp bằng hàm pathinfo[] trong PHP và xác thực định dạng tệp để kiểm tra xem người dùng có chọn tệp hình ảnh hay không
  • Tải hình ảnh lên máy chủ bằng hàm move_uploaded_file[] trong PHP
  • Chèn tên tệp hình ảnh vào cơ sở dữ liệu MySQL bằng PHP
  • Trạng thái tải lên sẽ được hiển thị cho người dùng
// Include the database configuration file
include 'dbConfig.php';
$statusMsg = '';

// File upload path
$targetDir = "uploads/";
$fileName = basename[$_FILES["file"]["name"]];
$targetFilePath = $targetDir . $fileName;
$fileType = pathinfo[$targetFilePath,PATHINFO_EXTENSION];

if[isset[$_POST["submit"]] && !empty[$_FILES["file"]["name"]]]{
    // Allow certain file formats
    $allowTypes = array['jpg','png','jpeg','gif','pdf'];
    if[in_array[$fileType, $allowTypes]]{
        // Upload file to server
        if[move_uploaded_file[$_FILES["file"]["tmp_name"], $targetFilePath]]{
            // Insert image file name into database
            $insert = $db->query["INSERT into images [file_name, uploaded_on] VALUES ['".$fileName."', NOW[]]"];
            if[$insert]{
                $statusMsg = "The file ".$fileName. " has been uploaded successfully.";
            }else{
                $statusMsg = "File upload failed, please try again.";
            }
        }else{
            $statusMsg = "Sorry, there was an error uploading your file.";
        }
    }else{
        $statusMsg = 'Sorry, only JPG, JPEG, PNG, GIF, & PDF files are allowed to upload.';
    }
}else{
    $statusMsg = 'Please select a file to upload.';
}

// Display status message
echo $statusMsg;
?>

Hiển thị hình ảnh từ cơ sở dữ liệu

Bây giờ chúng ta sẽ lấy hình ảnh đã tải lên từ máy chủ dựa trên tên tệp trong cơ sở dữ liệu và hiển thị hình ảnh trong trang web

  • Bao gồm tệp cấu hình cơ sở dữ liệu
  • Tìm nạp hình ảnh từ cơ sở dữ liệu MySQL bằng PHP
  • Liệt kê hình ảnh từ thư mục tải lên của máy chủ
// Include the database configuration file
include 'dbConfig.php';

// Get images from the database
$query = $db->query["SELECT * FROM images ORDER BY uploaded_on DESC"];

if[$query->num_rows > 0]{
    while[$row = $query->fetch_assoc[]]{
        $imageURL = 'uploads/'.$row["file_name"];
?>

}else{ ?>

No image[s] found...

Tạo Thư viện ảnh động bằng jQuery, PHP & MySQL

Sự kết luận

Trên đây chúng tôi đã chỉ ra cách hiệu quả nhất để triển khai chức năng upload ảnh lên website. Bạn có thể dễ dàng mở rộng chức năng tải tệp lên theo yêu cầu của mình. Để cung cấp giao diện người dùng tốt hơn, bạn có thể tích hợp chức năng Tải lên tệp Ajax

Tải lên nhiều hình ảnh bằng jQuery, Ajax và PHP

Bạn có muốn nhận trợ giúp triển khai hay sửa đổi hoặc nâng cao chức năng của tập lệnh này không?

Làm thế nào chúng ta có thể cập nhật hình ảnh trong PHP?

Làm cách nào chúng tôi có thể Cập nhật hình ảnh trong PHP? .
Bước 1. Tạo một trường mới để chuyển hình ảnh được lưu trữ từ cơ sở dữ liệu
Bước 2. Dán mã dưới đây vào tệp hành động biểu mẫu. nếu[. trống[$_FILES['files']['tmp_name']] && [$_POST['image_name']].
Bước 3. Bây giờ, hãy gửi biểu mẫu

Làm cách nào để cập nhật tệp tải lên trong PHP?

Tải lên tệp PHP .
Định cấu hình "php. ini" Tập tin. Trước tiên, hãy đảm bảo rằng PHP được định cấu hình để cho phép tải tệp lên. .
Kiểm tra xem tệp đã tồn tại chưa. Bây giờ chúng ta có thể thêm một số hạn chế. .
Kích thước tệp giới hạn. Trường nhập tệp trong biểu mẫu HTML của chúng tôi ở trên được đặt tên là "fileToUpload". .
Loại tệp giới hạn. .
Hoàn thành tải lên tệp PHP Script

Làm cách nào để cập nhật tệp trong cơ sở dữ liệu bằng PHP?

Dữ liệu có thể được cập nhật vào các bảng MySQL bằng cách thực thi câu lệnh CẬP NHẬT SQL thông qua hàm mysql_query của PHP . Dưới đây là một ví dụ đơn giản để cập nhật các bản ghi vào bảng nhân viên. Để cập nhật một bản ghi trong bất kỳ bảng nào, cần phải định vị bản ghi đó bằng cách sử dụng mệnh đề điều kiện.

Tôi có thể lưu trữ hình ảnh trong cơ sở dữ liệu không?

Cơ sở dữ liệu cho bạn cơ hội lưu trữ ảnh và các hình ảnh nhỏ khác trong bảng cơ sở dữ liệu . Bạn có thể tạo một bảng cơ sở dữ liệu như vậy chẳng hạn khi bạn muốn tạo một album ảnh trực tuyến với các mô tả về ảnh của mình. Không nên lưu trữ hình ảnh trong bảng cơ sở dữ liệu.

Chủ Đề