Hướng dẫn upload only pdf file in php - chỉ tải lên tệp pdf trong php

Tôi biết đây phải là một câu hỏi lặp đi lặp lại nhưng tôi có một yêu cầu khác ở đây. Điều tôi muốn là khi người dùng nhấp vào nút tải lên, hộp thoại chỉ xuất hiện chỉ cho phép người dùng tải lên loại tệp PDF và không có gì khác.

Những gì tôi đã thấy cho đến nay là một khi người dùng tải lên một tệp, sau đó có một kiểm tra được thực hiện cho loại tệp. Tôi không muốn cho phép người dùng tải lên các tệp khác với PDF.


Hãy đề xuất một cách để đạt được nó!

KBIR

3.9284 Huy hiệu vàng32 Huy hiệu bạc87 Huy hiệu đồng4 gold badges32 silver badges87 bronze badges

Khi được hỏi ngày 7 tháng 5 năm 2015 lúc 12:37May 7, 2015 at 12:37

6

Những gì bạn muốn là HTML5 có bộ chọn loại tệp được sử dụng cho hộp thoại trong mã HTML.

Vui lòng xem tài liệu MDN.

Thí dụ:


Từ //stackoverflow.com/a/7575533/3536236 Xin lưu ý rằng do tuổi của câu trả lời này, họ nói rằng "điều này không được chấp nhận rộng rãi" nhưng điều đó không phải vậy, input accept hiện được chấp nhận rất rộng rãi trong đánh dấu HTML5.

Đây không phải là vấn đề PHP vì PHP chỉ có thể phát với tệp sau khi nó được tải lên. PHP cũng nên kiểm tra loại tệp sau khi được tải lên vì HTML chấp nhận có thể bị lừa.

Để làm rõ thêm - PHP không thể kiểm tra tệp sẽ được tải lên trước khi nó được tải lên vì PHP chỉ hoạt động ở phía máy chủ. Do đó, tôi đề nghị sử dụng đánh dấu HTML5 để chỉ chọn các tệp [trông giống như] PDFS, sau đó sau khi tải lên tập lệnh PHP của bạn có thể kiểm tra tính hợp lệ của loại tệp và sau đó xử lý các kết quả.not check the file that is to be uploaded before it is uploaded because PHP works on the server side only. Hence I suggest using HTML5 markup to select only files that [look like] PDFs, then once uploaded your PHP script can check the file type validity and then handle the outcomes.

PHP không có chỗ trong việc chọn tệp trước khi được tải lên, điều đó hoàn toàn thuộc về trình duyệt người dùng cuối và HTML.

Đã trả lời ngày 7 tháng 5 năm 2015 lúc 12:44May 7, 2015 at 12:44

MartinmartinMartin

21.2k8 Huy hiệu vàng62 Huy hiệu bạc117 Huy hiệu đồng8 gold badges62 silver badges117 bronze badges

1

$finfo = finfo_open[FILEINFO_MIME_TYPE];
$mime = finfo_file[$finfo, $_FILES['file']['TMP_NAME']];
switch [$mime] {

   case 'application/pdf':

   default:
       die["Unknown/not permitted file type"];
}

Đã trả lời ngày 7 tháng 5 năm 2015 lúc 12:39May 7, 2015 at 12:39

Vivek Singhvivek SinghVivek Singh

2.4431 Huy hiệu vàng13 Huy hiệu bạc26 Huy hiệu đồng1 gold badge13 silver badges26 bronze badges

Trong hướng dẫn này, bạn sẽ học cách tải lên PDF bằng PHP.

Trình tải lên tệp của chúng tôi sẽ có thể tải lên các tệp đã chọn và lưu chúng trên một thư mục được chỉ định, chỉ trong các trường hợp này, [các] tệp được chấp nhận phải là PDF.

Vì vậy, để bắt đầu, trước tiên, chúng tôi tạo một biểu mẫu tải lên tệp đơn giản bằng HTML.Below là mã cho các biểu mẫu đó.
Below is the code for such forms.

HTML:

Vì vậy, về cơ bản, chúng tôi có một biểu mẫu tải lên HTML đơn giản, đầu vào với tên pdf, chúng tôi cũng có một nút gửi để tải lên tệp sau khi chọn.

Chúng tôi cũng đặt một thông báo nhỏ cho người dùng cho họ biết rằng tệp duy nhất được chấp nhận được tải lên phải là PDF, với kích thước tối đa là 5MB.

Good!

Bây giờ, hãy chuyển sang phần thú vị hơn, nơi chúng tôi sử dụng PHP để xử lý tải lên.

Dưới đây là PHP:

PDF đã quá trình như thế nào?

Trước hết, chúng tôi phải đảm bảo rằng khi tệp được tải lên và không gặp lỗi nào trong tệp được tải lên, thì phần còn lại của tập lệnh PHP sẽ hành động.

Chúng tôi đã tạo một mảng [kết hợp] chứa định dạng tệp được phép application/pdf và được gán nó cho một biến có tên là ____10.

Sử dụng SuperGlobal $ _FILES [] Chúng tôi có thể lấy tên tệp, kích thước và loại. Chúng tôi đã có thể lưu trữ điều này bằng cách chuyển tên đầu vào tệp `pdf` làm khóa cho SuperGlobal.

Dưới đây là một lời giải thích ngắn gọn về các superglobals


1 khác nhau được sử dụng:


2 Trả về tên tệp gốc và phần mở rộng.


3 return kích thước của tệp trong kilobyte.


4 Trả về loại MIME tệp, trong trường hợp này, cho rằng tệp chính xác được nâng lên phải là application/pdf.


6 Trả về tên tệp tạm thời, đường dẫn đầy đủ và mở rộng.

Mã PHP của chúng tôi cố gắng xác minh phần mở rộng tệp và kích thước của nó. Điều đó đưa chúng ta đến đoạn mã tiếp theo.

Để xác minh tiện ích mở rộng tệp

Chúng tôi sử dụng hàm


7. Các hàm này có hai tham số, là tên tệp và từ khóa

8 chỉ định rằng chúng tôi muốn nhận phần mở rộng của tệp đã cho.

Bằng cách đặt hàm


9 trong một câu lệnh có điều kiện, chúng tôi đã có thể kiểm tra xem tiện ích mở rộng được trả lại có khả dụng làm khóa trong mảng của chúng tôi được cho phép không. Một thông báo lỗi đã được thông qua nếu sai.

Thứ hai, để xác minh kích thước tệp, chúng tôi đã tạo kích thước tệp tối đa bằng cách thực hiện các thao tác

$finfo = finfo_open[FILEINFO_MIME_TYPE];
$mime = finfo_file[$finfo, $_FILES['file']['TMP_NAME']];
switch [$mime] {

   case 'application/pdf':

   default:
       die["Unknown/not permitted file type"];
}
0 này thực sự là 5MB. Nó được gán cho một biến gọi là
$finfo = finfo_open[FILEINFO_MIME_TYPE];
$mime = finfo_file[$finfo, $_FILES['file']['TMP_NAME']];
switch [$mime] {

   case 'application/pdf':

   default:
       die["Unknown/not permitted file type"];
}
1.

Sử dụng một câu lệnh có điều kiện, chúng tôi đã so sánh kích thước tệp được trả về từ biến

$finfo = finfo_open[FILEINFO_MIME_TYPE];
$mime = finfo_file[$finfo, $_FILES['file']['TMP_NAME']];
switch [$mime] {

   case 'application/pdf':

   default:
       die["Unknown/not permitted file type"];
}
2 của chúng tôi với biến số
$finfo = finfo_open[FILEINFO_MIME_TYPE];
$mime = finfo_file[$finfo, $_FILES['file']['TMP_NAME']];
switch [$mime] {

   case 'application/pdf':

   default:
       die["Unknown/not permitted file type"];
}
1 của chúng tôi. Nếu
$finfo = finfo_open[FILEINFO_MIME_TYPE];
$mime = finfo_file[$finfo, $_FILES['file']['TMP_NAME']];
switch [$mime] {

   case 'application/pdf':

   default:
       die["Unknown/not permitted file type"];
}
2 lớn hơn, thì một thông báo lỗi được hiển thị.

Chà, chúng tôi đã thực hiện với hai phần quan trọng nhất của mã.

Di chuyển trên ..

Với sự trợ giúp của một câu lệnh có điều kiện, chúng tôi đã có thể kiểm tra xem biến FileType có tồn tại dưới dạng giá trị trong biến được phép hay không.

Để làm điều này, chúng tôi đã sử dụng hàm

$finfo = finfo_open[FILEINFO_MIME_TYPE];
$mime = finfo_file[$finfo, $_FILES['file']['TMP_NAME']];
switch [$mime] {

   case 'application/pdf':

   default:
       die["Unknown/not permitted file type"];
}
5. Nếu nó trả về đúng, mã lồng nhau bên trong được chạy.

Trong mã lồng nhau bên trong câu lệnh IF điều kiện, chúng tôi có thể chỉ định nếu tệp được tải lên đã tồn tại bằng hàm

$finfo = finfo_open[FILEINFO_MIME_TYPE];
$mime = finfo_file[$finfo, $_FILES['file']['TMP_NAME']];
switch [$mime] {

   case 'application/pdf':

   default:
       die["Unknown/not permitted file type"];
}
6.

Nếu nó đã tồn tại một thông báo lỗi được gọi. Mặt khác, tệp được tải lên thư mục được chỉ định [trong trường hợp này là thư mục của chúng tôi được gọi là tải lên]. Để làm những điều này, hàm

$finfo = finfo_open[FILEINFO_MIME_TYPE];
$mime = finfo_file[$finfo, $_FILES['file']['TMP_NAME']];
switch [$mime] {

   case 'application/pdf':

   default:
       die["Unknown/not permitted file type"];
}
7 đã được sử dụng.

Hàm

$finfo = finfo_open[FILEINFO_MIME_TYPE];
$mime = finfo_file[$finfo, $_FILES['file']['TMP_NAME']];
switch [$mime] {

   case 'application/pdf':

   default:
       die["Unknown/not permitted file type"];
}
7 có hai tham số: 1. Nguồn tệp: Bằng cách sử dụng

6, chúng tôi đã có thể vượt qua đường dẫn tệp.2. ĐIỀU KHOẢN: Chúng tôi đã chỉ định đích được tải lên đến một thư mục hoặc thư mục được gọi là tải lên.
1. File source: By using the

6 we were able to pass the file path.
2. Destination: We specified the uploaded file destination to a folder or directory called upload.

Phần còn lại của mã nên tự giải thích khi chạy.

Lưu ý: Mã của chúng tôi được lập trình, do đó không thể tải lên tệp hai lần lên thư mục tải lên. Để loại bỏ những điều này, hãy thử thêm bất kỳ chuỗi ngẫu nhiên nào hoặc sử dụng hàm dấu thời gian

$_FILES[‘pdf’][‘name’]
0 làm lời nói đầu vào: Our code is programmed, so that a file cannot be uploaded twice to the upload directory. To do away with these, try adding any random string or use a timestamp
$_FILES[‘pdf’][‘name’]
0 function as a preface to the:

$_FILES[‘pdf’][‘name’]

Example:

$filename = time[] . “ “ . $_FILES[‘pdf’][‘name’]

THANKS..

Làm thế nào để tải lên một tệp pdf trong PHP?

Mã mã: php-upload-pdf-example.php php if [isset [$ _files ['pdffile']]] {if [$ _files ['pdffile'] ['type'] $ source_file = $ _files ['pdffile'] ['tmp_name']; $ dest_file = "Tải lên/".php if [ isset[ $_FILES['pdfFile'] ] ] { if [$_FILES['pdfFile']['type'] == "application/pdf"] { $source_file = $_FILES['pdfFile']['tmp_name']; $dest_file = "upload/".

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

Trong bài viết này, chúng ta sẽ xem cách chúng ta có thể tải các tệp PDF lên cơ sở dữ liệu MySQL bằng PHP ...
Cách tiếp cận: Đảm bảo bạn đã cài đặt XAMPP hoặc WAMP trên máy của bạn.....
Tạo cơ sở dữ liệu và bảng:.
Tạo thư mục và tệp:.
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 thế nào để tải lên nhiều tệp PDF trong cơ sở dữ liệu MySQL bằng PHP?

Bao gồm tải lên-script.php ..
Tạo một biểu mẫu với hai thuộc tính ..
Phương thức = Post Post enctype = Multiartart/form dữ liệu.
Tạo một đầu vào tệp với ba thuộc tính ..
Loại = Tệp Tệp Tên Tên = File File_Name [] Nhiều ..
Tạo một nút gửi có tên = SUMBLIN.

Move_uploaded_file trong PHP là gì?

Định nghĩa và sử dụng hàm Move_uploaded_file [] di chuyển một tệp đã tải lên một đích mới.Lưu ý: Chức năng này chỉ hoạt động trên các tệp được tải lên thông qua cơ chế tải lên bài HTTP của PHP.Lưu ý: Nếu tệp đích đã tồn tại, nó sẽ bị ghi đè.moves an uploaded file to a new destination. Note: This function only works on files uploaded via PHP's HTTP POST upload mechanism. Note: If the destination file already exists, it will be overwritten.

Bài Viết Liên Quan

Chủ Đề