Thẻ nào được sử dụng để tải lên hình ảnh trong PHP?

Tải lên các tệp, hình ảnh và video bằng PHP dễ dàng như thêm một vài tập lệnh. Hướng dẫn này sẽ chỉ cho bạn hai cách khác nhau về cách thêm chức năng tải tệp php lên trang web của bạn

  • – Đây là cách đơn giản nhất để thêm trình tải lên PHP vào dịch vụ của bạn. Ưu điểm là bạn có toàn quyền kiểm soát các tệp được tải lên
  • – Đây là một cách dễ dàng hơn để thêm chức năng tải lên PHP. Ưu điểm là bạn không phải quản lý hậu trường cơ sở hạ tầng tải lên tệp phức tạp

Hãy bắt đầu với một số ví dụ đơn giản

Mục lục

Tải lên tệp PHP – Cách đơn giản

Để bắt đầu, chúng ta sẽ tạo như sau

1. Biểu mẫu HTML

Trước tiên, chúng tôi sẽ tạo một biểu mẫu HTML mà người dùng sẽ thấy khi họ muốn tải tệp lên. Tạo một thư mục mới cho dự án ví dụ này và trong đó, tạo một tệp index.html với mã sau




    
    PHP File Upload


    
        Upload a File:
        
        
    


Một vài điều quan trọng cần lưu ý trong ví dụ trên

  • action="fileUploadScript.php" – Điều này tham chiếu đến tập lệnh PHP sẽ xử lý tệp tải lên trên chương trình phụ trợ
  • method="post" – Điều này cho biết hành động của trình duyệt mà biểu mẫu sẽ sử dụng khi gửi tệp đến máy chủ [đối với tải lên, đây hầu như luôn là hành động POST, đôi khi là PUT]
  • enctype="multipart/form-data" – Điều này xác định loại nội dung mà biểu mẫu gửi

Tiếp theo, mở thiết bị đầu cuối của bạn và từ thư mục nơi bạn đã tạo tệp, khởi động máy chủ PHP

Sau đó, mở trình duyệt web của bạn và truy cập


0. Bạn sẽ thấy một cái gì đó như thế này

2. Tập lệnh tải lên tệp PHP

Tiếp theo, chúng tôi sẽ xử lý phần phụ trợ của tệp tải lên. Đầu tiên, trong cùng một thư mục, hãy tạo một thư mục mới có tên là uploads. Đây sẽ là nơi tập lệnh của chúng tôi sẽ lưu các tệp

Sau đó, trong cùng thư mục với chỉ mục. html, tạo một tệp có tên fileUploadScript. php. Lưu ý rằng đây là cùng tên với thuộc tính hành động trong biểu mẫu. Sau đó thêm mã này


Một vài điều cần lưu ý

  • Khóa được sử dụng để truy cập tệp từ đối tượng
    
    
    1 khớp với thuộc tính tên được sử dụng trong biểu mẫu
  • 
    
    2 – Đây là tên của tệp thực tế
  • 
    
    3 – Đây là kích thước của tệp tính bằng byte
  • 
    
    4 – Đây là tệp tạm thời nằm trong thư mục
    
    
    5 của máy chủ
  • 
    
    6 – Điều này lấy phần mở rộng tệp từ tên tệp
  • 
    
    7 – Đây là nơi các tệp sẽ được lưu trữ trên máy chủ. Trong đoạn script trên, nó được đặt thành thư mục làm việc hiện tại

Cũng lưu ý rằng trong đoạn mã trên, chúng tôi xác thực tệp tải lên bằng cách kiểm tra cả loại và kích thước tệp. [Chỉ các tệp png và jpeg nhỏ hơn 4 MB]

Bây giờ có một số bước cuối cùng trước khi chúng tôi có thể bắt đầu tải tệp lên

  • Chuyển đến thư mục
    
    
    8 của bạn và làm cho nó có thể ghi được bằng cách chạy.
    
    
    9
  • Đảm bảo rằng tệp
    max_file_uploads = 20
    upload_max_filesize = 2M
    post_max_size = 8M
    
    0 của bạn được định cấu hình chính xác để xử lý tệp tải lên [Mẹo. để tìm php của bạn. ini, hãy chạy
    max_file_uploads = 20
    upload_max_filesize = 2M
    post_max_size = 8M
    
    1]
max_file_uploads = 20
upload_max_filesize = 2M
post_max_size = 8M

Cuối cùng, nếu bây giờ bạn khởi động máy chủ PHP và truy cập localhost. 1234, sau đó tải tệp lên, bạn sẽ thấy tệp được lưu trong thư mục tải lên

Hãy nhớ rằng tất cả các mã ở trên yêu cầu các biện pháp phòng ngừa bảo mật bổ sung trước khi được phát hành trong sản xuất. Ví dụ: hiện tại không có kiểm tra nào để xem liệu người dùng có tải lên vi-rút được ngụy trang dưới dạng hình ảnh hay không. Để tìm hiểu thêm, hãy xem bài viết này mô tả nhiều cách khác nhau để xử lý các tệp tải lên an toàn

Tải tệp lên bằng Filestack

Trong ví dụ thứ hai này, chúng tôi sẽ sử dụng Filestack để tải tệp lên. Filestack là một API tải lên tệp nâng cao và dịch vụ lưu trữ tệp an toàn trên đám mây

Tại sao lại sử dụng bên thứ ba như Filestack thay vì tự mình xây dựng? . Điều này có thể giải phóng bạn để tập trung vào việc xây dựng các phần quan trọng khác trong ứng dụng của bạn

Và bạn có thể bắt đầu miễn phí. Filestack có gói miễn phí xử lý tối đa 100 lượt tải lên hàng tháng với dung lượng lưu trữ 1GB và băng thông 1GB. Nếu bạn cần vượt quá số tiền đó, họ sẽ đưa ra mức giá phù hợp với việc sử dụng

Vậy hãy bắt đầu

1. Đăng ký tài khoản Filestack

Đầu tiên, chúng tôi sẽ đăng ký tài khoản Filestack. Truy cập trang đăng ký của họ và sau khi bạn đăng nhập, hãy lấy Khóa API mà bạn sẽ sử dụng trong các bước sau

2. Bắt đầu tải lên

Bây giờ chúng ta đã có thư viện Filestack, hãy tích hợp tiện ích tải lên tệp JavaScript của chúng, tiện ích này cho phép người dùng của bạn kết nối với nhiều nguồn khác nhau để tải lên từ đó. Ví dụ: nếu họ muốn tải lên từ một URL hoặc từ phương tiện truyền thông xã hội. Chỉ cần thay thế nội dung của chỉ mục. html với những điều sau đây




    
    PHP File Upload


    
      .picker-content{
        height:300px;
        width:200px;
      }
    
    
    
      document.addEventListener["DOMContentLoaded", function[event] { 
        const client = filestack.init[YOUR_API_KEY]; 

        let options = {
          "displayMode": "inline",
          "container": ".picker-content",
          "accept": [
            "image/jpeg",
            "image/jpg",
            "image/png"
          ],
          "fromSources": [
            "local_file_system"
          ],
          "uploadInBackground": false,
          "onUploadDone": [res] => console.log[res],
        };

        picker = client.picker[options];
        picker.open[];
      }];
    
    

Sau đó, mở trang của bạn rồi tải tệp lên bằng tiện ích tải lên. Sau khi tải lên, bạn sẽ có thể đăng nhập vào bảng điều khiển Filestack của mình và xem tệp mới tải lên của mình

Và đó là nó. Bạn thậm chí không cần máy chủ để xử lý tệp, điều này tốt hơn cho khả năng mở rộng, bảo mật và bảo trì

Thư viện Filestack PHP [tùy chọn]

Ví dụ trên bao gồm ví dụ đơn giản nhất về tải tệp lên bằng Filestack. Tuy nhiên, điều gì sẽ xảy ra nếu bạn muốn truy cập tệp trên máy chủ của mình để chạy một số loại xử lý hậu kỳ, chẳng hạn như kiểm tra xem một hình ảnh có an toàn cho công việc không? . Chúng ta sẽ sử dụng Composer để cài đặt thư viện Filestack PHP. Nếu bạn chưa có Trình soạn thảo, bạn có thể cài đặt nó bằng cách đi tới thư mục bạn đã tạo ban đầu và chạy [xem phần này để biết tài liệu chính thức]

php -r "copy['//getcomposer.org/installer', 'composer-setup.php'];"
php -r "if [hash_file['sha384', 'composer-setup.php'] === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5'] { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink['composer-setup.php']; } echo PHP_EOL;"
php composer-setup.php
php -r "unlink['composer-setup.php'];"

Sau khi bạn thực hiện các thao tác trên, bạn sẽ có thể xem đầu ra của Composer bằng cách chạy

max_file_uploads = 20
upload_max_filesize = 2M
post_max_size = 8M
2

Sau đó chạy

max_file_uploads = 20
upload_max_filesize = 2M
post_max_size = 8M
3 để cài đặt Filestack SDK

Bây giờ chúng ta đã có thư viện Filestack, hãy tạo một tập lệnh PHP mới để kiểm tra xem một tệp được tải lên cụ thể có an toàn cho công việc không. Tạo một tệp mới có tên là tệpUploadFilestack. php và thêm phần sau [đảm bảo thay đổi các biến YOUR_API_KEY, YOUR_SECURITY_SECRET và YOUR_FILE_HANDLE]


Khi tập lệnh này được chạy, kết quả kiểm tra an toàn cho công việc sẽ được lưu trong biến

max_file_uploads = 20
upload_max_filesize = 2M
post_max_size = 8M
4. Và đó chỉ là một ví dụ. Sử dụng Filestack PHP SDK cho phép bạn thực hiện nhiều tác vụ khác nhau trên các tệp đã tải lên của mình. Kiểm tra các ví dụ khác

  • Chuyển đổi tệp trước khi tải lên
  • Kiểm tra xem tệp tải lên có “an toàn cho công việc” không
  • Chuyển mã video hoặc âm thanh đã tải lên
  • Chuyển đổi tệp tải lên thành pdf
  • Và nhiều hơn nữa…

Ngoài ra, nếu bạn muốn xem thêm các ví dụ về cách tích hợp bộ chọn tệp tải lên vào một biểu mẫu, hãy xem các liên kết này

  • Tải lên hình ảnh
  • mở bộ chọn
  • Mở bộ chọn ở chế độ nội tuyến
  • Cắt hình ảnh
  • Xem trước tệp

Tóm lược

Bây giờ bạn đã biết cách thực hiện tải lên tệp PHP theo hai cách, bạn có thể dễ dàng thêm tính năng này vào trang web hoặc ứng dụng của mình. Nếu việc xử lý các thách thức về khả năng mở rộng, bảo mật và bảo trì khi lưu trữ cơ sở hạ tầng tải tệp lên của riêng bạn có vẻ quá khó khăn, hãy để Filestack xử lý việc đó. Ngoài ra, hãy nhớ xem bài viết của chúng tôi về Tải lên tệp AJAX

Làm cách nào để tải lên hình ảnh trong mã PHP?

Tạo biểu mẫu HTML .
Chọn hình ảnh để tải lên
.
.

Làm cách nào để tải lên hình ảnh trong PHP MySQL?

Nhận 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.

Các tệp $ _ trong PHP là gì?

$_FILES là mảng toàn cục liên kết hai chiều gồm các mục đang được tải lên qua phương thức HTTP POST và chứa các thuộc tính của tệp . Thuộc tính. Sự miêu tả. [name] Tên tệp đang tải lên.

Làm cách nào để sử dụng img trong PHP?

Làm cách nào để chèn thẻ hình ảnh vào tập lệnh php? .
+ 2. @javaspell hoặc sử dụng trích dẫn đơn. .
+ 1. 2 solutions 1 - close your php tag and write html code with img tag 2 - write something like echo "" in your php code. .. .
+ 1. .
bạn cần thoát khỏi các trích dẫn như thế này

Chủ Đề