Làm cách nào chúng tôi có thể lưu trữ tệp đã tải lên trong cơ sở dữ liệu bằng PHP?

Để tải lên tệp trong MySQL, trước tiên chúng ta phải tạo một bảng trong cơ sở dữ liệu

Ở đây chúng tôi sử dụng 2 tệp cho tệp tải lên

  • mục lục. php biểu mẫu HTML cho phép người dùng chọn tệp họ muốn tải lên
  • tải lên. php Để xử lý dữ liệu người dùng và tải tệp lên



File Upload




upload



đầu ra

Attach another file

 

Cần có các đoạn mã jQuery bên dưới để đính kèm thêm tệp và xóa tệp đã chọn nếu bạn không muốn tải tệp đã chọn lên

Internet chưa bao giờ là một nơi an toàn;

Trước khi tải tệp lên máy chủ, chúng tôi phải đảm bảo xác thực tệp cần thiết được thực hiện chính xác. Nếu chúng tôi không xem xét các yếu tố bảo mật, chúng tôi có thể gặp rắc rối

Ví dụ về hướng dẫn tải lên tệp PHP 8

Cùng với đó, chúng tôi cũng sẽ đề cập đến việc xác thực hình ảnh sau bằng cách sử dụng PHP 8

Mục lục

Bắt đầu

Bắt đầu MAMP hoặc XAMPP, tạo cấu trúc thư mục và tệp sau trong thư mục htdocs

\-- php-file-upload
  |-- config
      |--- database.php
  |-- img_dir
      |--- image-1
      |--- image-2
  |-- file-upload.php
  |-- index.php

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

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

CREATE TABLE `user` [
  `id` int[11] NOT NULL,
  `file_path` varchar[255] NOT NULL
] ENGINE=InnoDB DEFAULT CHARSET=utf8;
4

Tạo

CREATE TABLE `user` [
  `id` int[11] NOT NULL,
  `file_path` varchar[255] NOT NULL
] ENGINE=InnoDB DEFAULT CHARSET=utf8;
5 bên trong cơ sở dữ liệu

Bạn có thể thực hiện lệnh sau để tạo các cột trong bảng để lưu ảnh vào cơ sở dữ liệu

CREATE TABLE `user` [
  `id` int[11] NOT NULL,
  `file_path` varchar[255] NOT NULL
] ENGINE=InnoDB DEFAULT CHARSET=utf8;

Tạo biểu mẫu tải tệp lên

Tạo biểu mẫu HTML cho phép người dùng của chúng tôi chọn hình ảnh từ thiết bị cục bộ của họ giống hình ảnh mà họ muốn lưu trữ trên máy chủ

Loại đầu vào phải được đặt thành tệp cùng với thuộc tính tên

Ngoài ra, hãy xác định các thẻ method=”post” và enctype=”multipart/form-data”


  Upload File in PHP 8
  
    
      
    
  
  
    
    Select file
  
  
    Upload File
  

Xem trước hình ảnh hiển thị

Bạn có thể hiển thị bản xem trước hình ảnh trước khi tải nó lên máy chủ với sự trợ giúp của jQuery

Nhập liên kết jQuery CDN trước thẻ đóng body

________số 8_______

Chúng tôi đã khai báo thẻ hình ảnh với thẻ src=”” trống

Hàm sau chuyển đổi chuỗi hình ảnh và đặt url base64 vào thẻ HTML

CREATE TABLE `user` [
  `id` int[11] NOT NULL,
  `file_path` varchar[255] NOT NULL
] ENGINE=InnoDB DEFAULT CHARSET=utf8;
6 khi người dùng chọn hình ảnh

Đặt đoạn mã sau ngay sau thẻ tập lệnh jQuery CDN


    function readURL[input] {
      if [input.files && input.files[0]] {
        var reader = new FileReader[];
        reader.onload = function [e] {
          $['#imgPlaceholder'].attr['src', e.target.result];
        }
        // base64 string conversion
        reader.readAsDataURL[input.files[0]];
      }
    }
    $["#chooseFile"].change[function [] {
      readURL[this];
    }];

Cấu hình cơ sở dữ liệu

Thêm mã sau vào cấu hình/cơ sở dữ liệu. php để tạo kết nối PHP với cơ sở dữ liệu MySQL bằng phương thức PDO

// config/database.php

Xác thực tải lên tệp/hình ảnh trong PHP 8

Hãy để chúng tôi thêm xác thực đầu tiên của chúng tôi với sự trợ giúp của phương thức PHP file_exists[]. Hiển thị thông báo lỗi cho người dùng nếu anh ta không chọn bất kỳ hình ảnh nào

Để giải quyết các lỗi, chúng tôi thiết lập một mảng

CREATE TABLE `user` [
  `id` int[11] NOT NULL,
  `file_path` varchar[255] NOT NULL
] ENGINE=InnoDB DEFAULT CHARSET=utf8;
7 với các thuộc tính trạng thái và thông báo. Chúng tôi sẽ hiển thị thông báo cho người dùng dựa trên phản hồi trên giao diện người dùng

if [!file_exists[$_FILES["fileUpload"]["tmp_name"]]] {
    $resMessage = array[
        "status" => "alert-danger",
        "message" => "Select image to upload."
    ];
}

Đoạn mã sau áp dụng xác thực cho phép loại tệp cụ thể, chẳng hạn như. jpg, jpeg và. png sẽ được tải lên máy chủ. Bạn sẽ không được phép sử dụng các loại tệp khác và sẽ hiển thị thông báo lỗi nếu bạn làm như vậy

// Get file extension
$imageExt = strtolower[pathinfo[$target_file, PATHINFO_EXTENSION]];
// Allowed file types
$allowd_file_ext = array["jpg", "jpeg", "png"];
else if [!in_array[$imageExt, $allowd_file_ext]] {
    $resMessage = array[
        "status" => "alert-danger",
        "message" => "Allowed file formats .jpg, .jpeg and .png."
    ];
}

Thiết lập giới hạn kích thước tệp hình ảnh bằng mã sau. Người dùng không thể cho phép tải lên hình ảnh có kích thước lớn hơn 2 MB

else if [$_FILES["fileUpload"]["size"] > 2097152] {
    $resMessage=array["status"=> "alert-danger",
        "message"=> "File is too large. File size should be less than 2 megabytes."
    ];
}

Đoạn mã dưới đây kiểm tra xem tệp hiện tại đã được tải lên chưa

CREATE TABLE `user` [
  `id` int[11] NOT NULL,
  `file_path` varchar[255] NOT NULL
] ENGINE=InnoDB DEFAULT CHARSET=utf8;
0

Tạo thư mục img_dir trong thư mục gốc của dự án tệp tải lên PHP của bạn, ở đây chúng tôi sẽ lưu trữ tất cả các hình ảnh đã tải lên

CREATE TABLE `user` [
  `id` int[11] NOT NULL,
  `file_path` varchar[255] NOT NULL
] ENGINE=InnoDB DEFAULT CHARSET=utf8;
1

Hoàn thành ví dụ tải lên tệp PHP 8

Có thể tìm thấy ví dụ hoàn chỉnh về mã tải lên tệp PHP trong phần tải lên tệp. tập tin php

CREATE TABLE `user` [
  `id` int[11] NOT NULL,
  `file_path` varchar[255] NOT NULL
] ENGINE=InnoDB DEFAULT CHARSET=utf8;
2

Bao gồm tệp tải lên. php trong chỉ mục. html ở đây, chúng tôi đã xác định biểu mẫu tải lên tệp cùng với mảng thông báo

CREATE TABLE `user` [
  `id` int[11] NOT NULL,
  `file_path` varchar[255] NOT NULL
] ENGINE=InnoDB DEFAULT CHARSET=utf8;
3

Phần kết luận

Chúng tôi đã hoàn thành hướng dẫn Tải lên tệp PHP 8 và chúng tôi đã học cách tải lên và lưu trữ hình ảnh bằng PHP trong cơ sở dữ liệu MySQL. Tôi hy vọng bạn thích hướng dẫn này

Mã hoàn chỉnh của hướng dẫn này có thể được tìm thấy trên GitHub

máy đào

Tôi là Digamber, một nhà phát triển full-stack và là người đam mê thể dục. Tôi đã tạo trang web này để truyền kinh nghiệm mã hóa của mình cho các lập trình viên mới. Tôi thích viết trên JavaScript, ECMAScript, React, Angular, Vue, Laravel

Twitter GitHub

Bài viết đề xuất

Xây dựng hệ thống xếp hạng 5 sao PHP MySQL bằng cách sử dụng jQuery AJAXPHP 8 Tìm kiếm dữ liệu trực tiếp AJAX với MySQL Hướng dẫn PHP 8 Select2 Đa lựa chọn với jQuery AJAX Hướng dẫn PHP 8 Ví dụ mã hóa và giải mã dữ liệu JSON Ví dụ hướng dẫn xác thực biểu mẫu phía máy chủ PHP 8Tích hợp Google reCAPTCHA trong biểu mẫu liên hệ PHP 8Cách tạo Captcha . Lấy giá trị đã chọn và thêm kiểu Cách lấy các giá trị đã chọn từ tùy chọn được chọn trong PHP 8Nhận nhiều giá trị của các hộp kiểm đã chọn trong PHP 8 Tạo phân trang trong PHP 8 với MySQL và Bootstrap

Làm cách nào để tải lên hình ảnh trong PHP và lưu trữ trong cơ sở dữ liệu và thư mục?

Bước 1. Tạo một biểu mẫu HTML đơn giản. Ở bước 1, hãy tạo một biểu mẫu HTML đơn giản. .
Bước 2. Tạo bảng cơ sở dữ liệu MYSQL. Để tạo một bảng cơ sở dữ liệu, chúng ta cần viết một truy vấn mysql. .
Bước 3. Tạo kết nối MYSQL trong PHP. .
Bước 4. Lưu trữ hình ảnh trong cơ sở dữ liệu bằng PHP. .
Bước 5. ĐẦU RA. Hiển thị hình ảnh từ cơ sở dữ liệu bằng PHP

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

Trong bài viết này, chúng ta sẽ xem cách tải tệp PDF lên cơ sở dữ liệu MySQL bằng PHP. .
Tiếp cận. Đảm bảo bạn đã cài đặt XAMPP hoặc WAMP trên máy của mình. .
Tạo cơ sở dữ liệu và bảng
Tạo thư mục và tập tin
Tạo biểu mẫu. Với biểu mẫu HTML, chúng tôi đang thu thập dữ liệu từ người dùng bằng cách bật

Làm cách nào để di chuyển tệp đã tải lên vào thư mục trong PHP?

Hàm move_uploaded_file[] di chuyển tệp đã tải lên đến đích mới. Ghi chú. Chức năng này chỉ hoạt động trên các tệp được tải lên qua cơ chế tải lên HTTP POST của PHP. Ghi chú. Nếu tệp đích đã tồn tại, nó sẽ bị ghi đè.

Làm cách nào để tải hình ảnh lên cơ sở dữ liệu và hiển thị nó bằng PHP?

Chương trình PHP . Tại đây, bạn phải tạo một cơ sở dữ liệu và đặt tên là “Image_Upload”. Tiếp theo, bạn cần tạo một bảng mới trong cơ sở dữ liệu. Bạn đã tạo một bảng mới có tên là “Hình ảnh”

Chủ Đề