Tệp tải lên Php lấy nội dung

Tập lệnh PHP có thể được sử dụng với biểu mẫu HTML để cho phép người dùng tải tệp lên máy chủ. Ban đầu, các tệp được tải lên một thư mục tạm thời và sau đó được chuyển đến đích đích bằng tập lệnh PHP

Thông tin trong phpinfo. trang php mô tả thư mục tạm thời được sử dụng để tải tệp lên là upload_tmp_dir và kích thước tệp tối đa được phép tải lên được nêu là upload_max_filesize. Các tham số này được đặt vào tệp cấu hình PHP php. ban đầu

Quá trình tải lên một tệp tuân theo các bước sau -

  • Người dùng mở trang chứa biểu mẫu HTML có tệp văn bản, nút duyệt và nút gửi

  • Người dùng nhấp vào nút duyệt và chọn tệp để tải lên từ PC cục bộ

  • Đường dẫn đầy đủ đến tệp đã chọn xuất hiện trong trường văn bản, sau đó người dùng nhấp vào nút gửi

  • Tệp đã chọn được gửi đến thư mục tạm thời trên máy chủ

  • Tập lệnh PHP được chỉ định làm trình xử lý biểu mẫu trong thuộc tính hành động của biểu mẫu kiểm tra xem tệp đã đến chưa và sau đó sao chép tệp vào một thư mục dự định

  • Tập lệnh PHP xác nhận thành công cho người dùng

Như thường lệ, khi ghi tệp, cả vị trí tạm thời và vị trí cuối cùng đều cần được đặt quyền cho phép ghi tệp. Nếu một trong hai được đặt thành chỉ đọc thì quá trình sẽ thất bại

Tệp được tải lên có thể là tệp văn bản hoặc tệp hình ảnh hoặc bất kỳ tài liệu nào

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

Đoạn mã HTML dưới đây tạo một biểu mẫu tải lên. Biểu mẫu này có thuộc tính method được đặt thành post và thuộc tính enctype được đặt thành multipart/form-data

 2097152]{
         $errors[]='File size must be excately 2 MB';
      }
      
      if[empty[$errors]==true]{
         move_uploaded_file[$file_tmp,"images/".$file_name];
         echo "Success";
      }else{
         print_r[$errors];
      }
   }
?>

   
      
      
         
         
      
      
   

Nó sẽ tạo ra kết quả sau -

Tạo tập lệnh tải lên

Có một biến PHP toàn cục được gọi là $_FILES. Biến này là một mảng hai chiều liên kết và giữ tất cả thông tin liên quan đến tệp đã tải lên. Vì vậy, nếu giá trị được gán cho thuộc tính tên của đầu vào trong biểu mẫu tải lên là tệp, thì PHP sẽ tạo năm biến sau -

Tải lên tệp trong PHP cho phép bạn tải các tệp có phần mở rộng khác nhau lên máy chủ. Chúng tôi có thể sử dụng biểu mẫu HTML và cho phép người dùng tải tệp lên máy chủ. Các tệp này được lưu trữ trong một thư mục tạm thời trừ khi được chuyển đến vị trí đích để lưu trữ vĩnh viễn. Nhưng để tải lên tệp trong PHP hoạt động, chúng tôi phải đảm bảo một số cài đặt cấu hình được đặt phù hợp

Chương trình sau đại học. Phát triển web đầy đủ ngăn xếp

hợp tác với Caltech CTME Đăng ký ngay

Làm cách nào để định cấu hình cài đặt PHP để đảm bảo tải lên tệp mượt mà trong PHP?

Chúng tôi cần định cấu hình các cài đặt cụ thể để cho phép tải lên tệp trong PHP. Nếu không thực hiện đúng các cài đặt này, quá trình tải lên sẽ không thành công hoặc không hoạt động theo cách chúng tôi muốn. Để định cấu hình các cài đặt này, chúng ta cần tìm tệp php. tập tin ini

Nếu bạn biết về php. ini, nó tốt và tốt. Nhưng nếu bạn không biết vị trí chính xác, hãy sử dụng mã bên dưới để xác định vị trí đó

php_ini_loaded_file[] là một chức năng tích hợp sẵn. Tạo tệp PHP bằng mã này và mở tệp đó từ trình duyệt của bạn thông qua máy chủ cục bộ để lấy vị trí của tệp php. tập tin ini. Khi bạn có vị trí, bạn cần tìm và định cấu hình một số cài đặt. Các cài đặt chính cùng với các giá trị được đề xuất là

;

file_uploads = Bật

;

upload_tmp_dir =

;

upload_max_filesize = 16M

;

max_file_uploads = 20

;

post_max_size = 20M

max_input_time = 60

memory_limit = 128M

max_execution_time = 30

Cài đặt khóa tốt nhất để tải lên tệp trong PHP là gì?

  • file_uploads. Khóa file_uploads xác định có cho phép tải tệp lên hay không. Theo mặc định, nó được đặt thành Bật và đó chính xác là những gì chúng tôi muốn
  • upload_max_filesize. Khóa này mô tả kích thước tệp tối đa được phép khi tải lên. Bạn có thể đã thấy điều này khi tải lên ảnh hồ sơ của mình trên một số nền tảng. Khi bạn tải lên một hình ảnh có độ phân giải cao hơn, nó cho phép kích thước tệp là [n]MB. Khóa này là thứ xử lý phần cho phép kích thước tệp tối đa cho mã PHP. Kích thước mặc định được đặt thành 2MB. Nhưng bạn có thể thay đổi nó theo sở thích và yêu cầu của bạn. Bạn cũng có thể truy cập và thay đổi cài đặt của phím này từ. tập tin htaccess
  • upload_tmp_dir. Đây là thư mục lưu file upload tạm thời. Bạn có thể đặt nó thành bất cứ thứ gì. Tuy nhiên, nếu bạn không cung cấp đường dẫn tại đây, hệ thống sẽ chọn một đường dẫn mặc định làm thư mục tạm thời
  • post_max_size. Phím này cho phép bạn đặt giới hạn tối đa cho việc lưu trữ dữ liệu POST. Khi sử dụng tính năng tải tệp lên bằng PHP, tệp được gửi và lưu trữ cùng với dữ liệu của yêu cầu POST. Do đó, nó phải luôn lớn hơn giá trị upload_max_filesize
  • max_file_uploads. Với cài đặt khóa này, bạn có thể định cấu hình số lượng tệp tối đa được tải lên thông qua một yêu cầu. Giá trị mặc định cho khóa max_file_uploads là 20
  • max_input_time. Lệnh này xác định lượng thời gian tối đa được phép để tập lệnh PHP phân tích cú pháp dữ liệu đầu vào của [các] tệp đã tải lên. Giá trị được chỉ định bằng giây và 60 giây thường là một số lượng tốt
  • giới hạn bộ nhớ. Khóa cho biết bộ nhớ tối đa mà tập lệnh PHP có thể tiêu thụ. Kích thước mặc định là 128 MB, đây là một dung lượng đáng kể. Tuy nhiên, nếu bạn vẫn gặp khó khăn khi tải lên các tệp lớn, hãy tăng số. Một điều đáng chú ý khác là luôn giữ số lớn hơn giá trị post_max_size
  • max_execution_time. Nó cho biết số thời gian tối đa tính bằng giây được phép để tập lệnh chạy. Giá trị của khóa này phải tỷ lệ thuận với kích thước của tệp được tải lên

Khóa học mới. Phát triển Full Stack cho người mới bắt đầu

Tìm hiểu Git Command, Angular, NodeJS, Maven và hơn thế nữa Đăng ký ngay

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

Bây giờ chúng ta đã hoàn tất cài đặt cấu hình, hãy tiếp tục với việc tạo biểu mẫu HTML để tải tệp lên. Đối với điều này, chúng tôi sẽ tạo chỉ mục. php và lưu nó vào trong một thư mục. Dưới đây là mã cho chỉ mục. tập tin php

Tải lên tệp PHP

Tải tệp lên.

    

  

Khi bạn chạy đoạn mã trên thông qua máy chủ cục bộ của mình, nó sẽ cho kết quả như sau

đầu ra

Một số điều quan trọng cần lưu ý từ biểu mẫu

Có một số điều cần lưu ý trong mẫu HTML trên

  • action="fileUpload. php". Giá trị trong trường hành động đề cập đến tệp sẽ xử lý tệp tải lên trong PHP. Chúng tôi sẽ tạo tệp trong giây lát
  • phương pháp = "POST". Giá trị này cho biết trình duyệt về hành động của tập lệnh để tải lên tệp đã chọn
  • enctype="multipart/form-data". Giá trị này đề cập đến loại nội dung của các tệp sẽ được chấp nhận để tải lên. Nó cũng cho biết loại mã hóa mà tập lệnh PHP sẽ sử dụng để tải lên. Giá trị multipart/form-data cho phép chúng tôi tải tệp lên bằng phương thức POST. Nó cũng đảm bảo các ký tự của tệp không được mã hóa trong khi gửi biểu mẫu. Ngoài multipart/form-data, enctype còn chấp nhận các giá trị application/x-www-form-urlencoded và text/plain
  • Các biến thông báo được sử dụng ở đầu biểu mẫu sẽ hiển thị trạng thái tải lên. Chúng cũng sẽ hiển thị thông báo thành công hoặc lỗi tùy thuộc vào trạng thái tải lên

Chạy tệp qua máy chủ sẽ cho phép bạn duyệt và chọn bất kỳ tệp nào từ máy tính của mình

Khóa học Full Stack Web Developer

Để trở thành chuyên gia về MEAN Stack Xem khóa học

Tạo logic tải lên để tải lên tệp trong PHP

Biểu mẫu HTML đại diện cho mã phía máy khách. Bây giờ biểu mẫu của chúng ta đã sẵn sàng, hãy chuyển sang kịch bản phía máy chủ để xử lý tệp tải lên trong PHP. Dưới đây là mã mà bạn cần sao chép trong tệpUpload. tập tin php

Chủ Đề