Hướng dẫn how to upload 20mb file in php - cách tải lên tệp 20mb trong php

Tôi có một vấn đề với việc thêm nhiều tệp trên máy chủ của mình. Mọi thứ đều hoạt động tốt trên các tệp nhỏ hơn (
I've increased:

max_execution_time to one hour
max_file_uploads to 100 files
memory_limit to 512M
output_buffering to 30M (earlier I've turned it off)
post_max_size to 64MB
upload_max_filesize to 64M

Trang web đang lưu trữ OVH, vì vậy mọi thay đổi tôi đã thực hiện trong tệp .user.ini. Khi tôi đang thử phpinfo(), nó hiển thị các giá trị mà tôi đã thay đổi.
When I'm trying phpinfo() it shows values which I've changed.

Có ai biết bất kỳ giải pháp nào không?

Hướng dẫn how to upload 20mb file in php - cách tải lên tệp 20mb trong php

Jay Blanchard

33,8K16 Huy hiệu vàng74 Huy hiệu bạc114 Huy hiệu đồng16 gold badges74 silver badges114 bronze badges

Hỏi ngày 2 tháng 4 năm 2015 lúc 12:45Apr 2, 2015 at 12:45

6

Trong tệp .htaccess của bạn, điều này cho phép tôi thêm tối đa 2 GB

php_value upload_max_filesize 2048M
php_value post_max_size 2048M
php_value max_execution_time 259200

Đã trả lời ngày 2 tháng 4 năm 2015 lúc 13:02Apr 2, 2015 at 13:02

Hướng dẫn how to upload 20mb file in php - cách tải lên tệp 20mb trong php

Bươm bướmButterfly

2.4486 Huy hiệu vàng30 Huy hiệu bạc49 Huy hiệu đồng6 gold badges30 silver badges49 bronze badges

6

Cách thay đổi kích thước tệp tải lên tối đa cho tập lệnh PHP

Bài viết này mô tả cách thay đổi kích thước tệp tải lên tối đa cho các tập lệnh PHP bằng cách sử dụng upload_max_filesize và post_max_size & nbsp; chỉ thị php. & Nbsp;upload_max_filesize and post_max_size php directives. 

Thay đổi kích thước tệp tải lên tối đa

Theo mặc định, kích thước tệp tải lên tối đa cho các tập lệnh PHP được đặt thành 128 megabyte. Tuy nhiên, bạn có thể muốn thay đổi các giới hạn này. Ví dụ: bạn có thể đặt giới hạn thấp hơn để ngăn người dùng tải các tệp lớn lên trang web của mình. Để thực hiện việc này, hãy thay đổi các chỉ thị upload_max_filesize và post_max_size.upload_max_filesize and post_max_size directives.

Để đảm bảo rằng tệp tải lên hoạt động chính xác, chỉ thị post_max_size phải lớn hơn một chút so với upload_max_filesize. Ví dụ: các cài đặt sau đây trình bày cách đặt giới hạn tải lên tệp thành 20 megabyte:post_max_size directive should be a little larger than the upload_max_filesize. For example, the following settings demonstrate how to set a file upload limit to 20 megabytes:

upload_max_filesize = 20M
post_max_size = 21M

Để xác minh giá trị hiện tại của chỉ thị upload_max_filesize và các chỉ thị khác, bạn có thể sử dụng hàm phpinfo (). Để biết thêm thông tin, xin vui lòng xem bài viết này.upload_max_filesize directive and other directives, you can use the phpinfo() function. For more information, please see this article.

Thiết lập các chỉ thị

Cách ưa thích để đặt các chỉ thị PHP là sử dụng các công cụ đồ họa trong bảng điều khiển.

Đối với các tài khoản sử dụng bảng điều khiển cPanel, xem bài viết này.

Đối với các tài khoản sử dụng bảng điều khiển PLESK, xem bài viết này.

Nhiều tài khoản cũng cho phép sử dụng tệp tùy chỉnh & nbsp; php.ini. & Nbsp; Để biết hướng dẫn để tạo tệp Custom & nbsp; php.ini, hãy xem bài viết này.

Thêm thông tin

  • Để xem danh sách đầy đủ các chỉ thị php.ini, vui lòng truy cập http://www.php.net/manual/en/ini.list.php.
  • Để biết thêm thông tin về Chỉ thị Upload_Max_Filesize, vui lòng truy cập http://www.php.net/manual/en/ini.core.php#ini.upload-max-filesize.upload_max_filesize directive, please visit http://www.php.net/manual/en/ini.core.php#ini.upload-max-filesize.
  • Để biết thêm thông tin về Chỉ thị POST_MAX_SIZE, vui lòng truy cập http://www.php.net/manual/en/ini.core.php#ini.post-max-size.post_max_size directive, please visit http://www.php.net/manual/en/ini.core.php#ini.post-max-size.

Tải lên một tệp từ một biểu mẫu web trong PHP rất dễ dàng. Hướng dẫn trực tuyến cung cấp phần tải lên tệp xử lý và có một số bài viết trên sitePoint.com, bao gồm cách xử lý tải lên tệp với PHP của Kevin Yank.

Một trong những ứng dụng phổ biến nhất là tải lên hình ảnh. Người dùng của bạn có thể gửi ảnh từ một biểu mẫu mà không cần dùng đến FTP hoặc các phương thức phức tạp khác. HTML5 và flash cũng cho phép kéo và thả, do đó, hoạt động có thể trở nên dễ dàng hơn khi các trình duyệt phát triển.

Đây là nơi các vấn đề có thể bắt đầu. Các nhà sản xuất máy ảnh liên tục khoe rằng họ có một bộ megapixel lớn hơn so với đối thủ cạnh tranh. Tất nhiên, tất cả đều là rác rưởi - trừ khi bạn là một nhiếp ảnh gia chuyên nghiệp hoặc cần in những hình ảnh cực kỳ lớn, bất cứ điều gì trên 4MP đều khá vô nghĩa và chất lượng ống kính quan trọng hơn nhiều. Tuy nhiên, ngay cả compact cấp thấp cũng có 12MP và điện thoại di động cũng có hơn 5MP. Kết quả là một ảnh chụp nhanh điển hình có thể dễ dàng có kích thước 6MB.

Theo mặc định, PHP cho phép tải lên tệp tối đa là 2MB. Bạn có thể yêu cầu người dùng thay đổi kích thước hình ảnh của họ trước khi tải lên nhưng hãy để đối mặt với nó: họ đã giành chiến thắng. May mắn thay, chúng ta có thể tăng giới hạn khi cần thiết.

Hai tùy chọn cấu hình PHP kiểm soát kích thước tải lên tối đa: upload_max_filesizepost_max_size. Cả hai đều có thể được đặt thành, giả sử, 10M, cho 10 kích thước tệp megabyte.

Tuy nhiên, bạn cũng cần xem xét thời gian cần thiết để hoàn thành tải lên. Các tập lệnh PHP thường hết thời gian sau 30 giây, nhưng tệp 10MB sẽ mất ít nhất 3 phút để tải lên kết nối băng thông rộng khỏe mạnh (hãy nhớ rằng tốc độ tải lên thường chậm hơn năm lần so với tốc độ tải xuống). Ngoài ra, thao tác hoặc lưu một hình ảnh được tải lên cũng có thể gây ra thời gian chờ tập lệnh. Do đó, chúng tôi cần đặt PHP từ max_input_timemax_execution_time thành một cái gì đó như 300 (5 phút được chỉ định tính bằng giây).

Các tùy chọn này có thể được đặt trong tệp cấu hình máy chủ của bạn ____ ____10 để chúng áp dụng cho tất cả các ứng dụng của bạn. Ngoài ra, nếu bạn sử dụng Apache, bạn có thể định cấu hình các cài đặt trong ứng dụng của bạn

php_value upload_max_filesize 2048M
php_value post_max_size 2048M
php_value max_execution_time 259200
1File:


php_value upload_max_filesize 10M
php_value post_max_size 10M
php_value max_input_time 300
php_value max_execution_time 300

Cuối cùng, bạn có thể xác định các ràng buộc trong ứng dụng PHP của mình:

ini_set('upload_max_filesize', '10M');
ini_set('post_max_size', '10M');
ini_set('max_input_time', 300);
ini_set('max_execution_time', 300);

PHP cũng cung cấp chức năng

php_value upload_max_filesize 2048M
php_value post_max_size 2048M
php_value max_execution_time 259200
2 để bạn không cần phải đặt trực tiếp max_execution_time.

Đặt các tùy chọn trong mã PHP của bạn có thể thực tế hơn, vì bạn có thể kéo dài thời gian thực hiện và tăng kích thước tệp khi ứng dụng của bạn đang mong đợi một tải lên lớn. Các biểu mẫu khác sẽ trở lại thời gian chờ 30 giây mặc định và giới hạn 2MB.

Bạn có bất kỳ mẹo nào khác để tải lên các tệp lớn trong PHP không?