Hướng dẫn php default file upload directory - thư mục tải lên tệp mặc định php

Tôi đang làm việc trên tệp tải lên thông qua một trang web với thanh tiến trình bằng trình tải lên tệp Valums. Hầu hết mọi thứ đều hoạt động tốt, nhưng tôi không thể thay đổi thư mục TMP mặc định, trong đó tệp được lưu trữ trong quá trình tải lên.during the upload.

Các tệp nên được lưu trữ trong thư mục /upload và không phải trong thư mục hệ thống mặc định /tmp, bởi vì /tmp được gắn trong đĩa RAM có kích thước giới hạn ở 4 & NBSP; MB và người dùng sẽ tải lên các tệp khoảng 10 & NBSP; MB.

Tôi đã tìm kiếm rất nhiều trang web, nhưng không có giải pháp nào hoạt động. Tôi đã đặt thư mục tạm thời trong

;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;
; Whether to allow HTTP file uploads.
; //php.net/file-uploads
file_uploads = On
; Temporary directory for HTTP uploaded files [will use system default if not
; specified].
; //php.net/upload-tmp-dir
; upload_tmp_dir = /tmp
; Maximum allowed size for uploaded files.
; //php.net/upload-max-filesize
upload_max_filesize = 150M
; Maximum number of files that can be uploaded via a single request
max_file_uploads = 20
1:

upload_tmp_dir =/upload

Tôi đã đặt quyền cho /upload DIR và Apache là chủ sở hữu của tệp, vì vậy thư mục chắc chắn có thể ghi được bởi PHP.

Tôi đã đặt đường dẫn đích trong trình tải lên tệp thành /upload, vì tôi muốn các tệp được lưu trữ sau khi tải lên trong thư mục này. Kết quả cuối cùng là các tệp nhỏ đang được tải lên thành công, nhưng các tệp lớn hơn 4 & nbsp; MB không tải lên-lý do duy nhất của hành vi này xuất hiện trong tâm trí tôi là các tệp được lưu trữ trong ____99 trong quá trình tải lên. Để chắc chắn, tôi đã kiểm tra nó với

;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;
; Whether to allow HTTP file uploads.
; //php.net/file-uploads
file_uploads = On
; Temporary directory for HTTP uploaded files [will use system default if not
; specified].
; //php.net/upload-tmp-dir
; upload_tmp_dir = /tmp
; Maximum allowed size for uploaded files.
; //php.net/upload-max-filesize
upload_max_filesize = 150M
; Maximum number of files that can be uploaded via a single request
max_file_uploads = 20
5 và kết quả là ____ 9-vì vậy PHP bỏ qua chỉ thị php.ini của tôi hoặc có một số cách khác để đặt nơi lưu trữ các tệp trong quá trình tải lên.

Ồ, và thông tin cuối cùng:

;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;
; Whether to allow HTTP file uploads.
; //php.net/file-uploads
file_uploads = On
; Temporary directory for HTTP uploaded files [will use system default if not
; specified].
; //php.net/upload-tmp-dir
; upload_tmp_dir = /tmp
; Maximum allowed size for uploaded files.
; //php.net/upload-max-filesize
upload_max_filesize = 150M
; Maximum number of files that can be uploaded via a single request
max_file_uploads = 20
7 không được đặt, vì vậy quyền truy cập PHP vào đĩa chỉ bị giới hạn bởi các quyền của tệp.

Tôi là một nhà phát triển PHP cao cấp. Dù sao thì đó cũng là những gì tôi nói với bản thân mình.

Điều đó có nghĩa là tôi nên biết cách làm điều này cuộc sống này.

Tôi đã phải xử lý một tải trọng tệp trong một dự án gần đây, mà không cần nắm tay một khung, và tôi thấy nó khó hơn tôi nhớ.

Ở đây, tất cả các bit và mảnh tôi gần như quên mất.

PHP sẽ cho phép bạn tải lên tệp của mình? Tôi có thể tải lên một tập tin lớn như thế nào?

Kiểm tra phần sau trong tệp

;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;
; Whether to allow HTTP file uploads.
; //php.net/file-uploads
file_uploads = On
; Temporary directory for HTTP uploaded files [will use system default if not
; specified].
; //php.net/upload-tmp-dir
; upload_tmp_dir = /tmp
; Maximum allowed size for uploaded files.
; //php.net/upload-max-filesize
upload_max_filesize = 150M
; Maximum number of files that can be uploaded via a single request
max_file_uploads = 20
1 của bạn và kiểm tra cài đặt của bạn.

;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;
; Whether to allow HTTP file uploads.
; //php.net/file-uploads
file_uploads = On
; Temporary directory for HTTP uploaded files [will use system default if not
; specified].
; //php.net/upload-tmp-dir
; upload_tmp_dir = /tmp
; Maximum allowed size for uploaded files.
; //php.net/upload-max-filesize
upload_max_filesize = 150M
; Maximum number of files that can be uploaded via a single request
max_file_uploads = 20

Điều quan trọng nhất ở đây là file_uploads [thường được mặc định] và tải lên_max_filesize [thường nhỏ hơn bạn cần theo mặc định]. Ngoài ra, hãy chú ý đến tải lên_tmp_dir, bạn sẽ cần điều này trong thời gian ngắn.file_uploads [which is normally on by default] and upload_max_filesize [which is normally smaller than you need by default]. Also, pay attention to upload_tmp_dir… you’ll need this shortly.

Bạn chưa hoàn thành. Một cài đặt nữa để thay đổi.

; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; //php.net/post-max-size
post_max_size = 150M

Nếu bạn đã thay đổi cài đặt này, bạn sẽ thấy các thông báo lỗi như sau:

PHP Warning:  POST Content-Length of 63023816 bytes exceeds the limit of 8388608 bytes in Unknown on line 0, referer: //mywebsite.com/upload

Nếu bạn không có quyền truy cập dễ dàng vào tệp PHP.INI của mình hoặc bạn không chắc chắn

;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;
; Whether to allow HTTP file uploads.
; //php.net/file-uploads
file_uploads = On
; Temporary directory for HTTP uploaded files [will use system default if not
; specified].
; //php.net/upload-tmp-dir
; upload_tmp_dir = /tmp
; Maximum allowed size for uploaded files.
; //php.net/upload-max-filesize
upload_max_filesize = 150M
; Maximum number of files that can be uploaded via a single request
max_file_uploads = 20
1 mà Apache đang chạy, bạn cũng có thể tìm ra điều này bằng cách tạo tập lệnh PHP nhanh và bẩn.

Chủ Đề