Hướng dẫn how to check extension of file in php? - Làm thế nào để kiểm tra phần mở rộng của tệp trong php?

Cá nhân, tôi thích sử dụng hàm preg_match []:

if[preg_match["/\.[gif|png|jpg]$/", $filename]]

hoặc in_array []

$exts = array['gif', 'png', 'jpg']; 
if[in_array[end[explode['.', $filename]], $exts]

Với in_array[] có thể hữu ích nếu bạn có nhiều phần mở rộng để xác nhận và câu hỏi hoàn hảo. Một cách khác để hình ảnh tệp hợp lệ: Bạn có thể sử dụng @imagecreatefrom*[], nếu hàm không thành công, điều này có nghĩa là hình ảnh không hợp lệ.

Ví dụ:

function testimage[$path]
{
   if[!preg_match["/\.[png|jpg|gif]$/",$path,$ext]] return 0;
   $ret = null;
   switch[$ext]
   {
       case 'png': $ret = @imagecreatefrompng[$path]; break;
       case 'jpeg': $ret = @imagecreatefromjpeg[$path]; break;
       // ...
       default: $ret = 0;
   }

   return $ret;
}

then:

$valid = testimage['foo.png'];

Giả sử rằng foo.png là một tệp bản-script có phần mở rộng .png, hàm trên không thành công. Nó có thể tránh các cuộc tấn công như Cập nhật Shell và LFI.

1 Câu trả lời cho câu hỏi này.

Xin chào @Kartik,

Sử dụng & nbsp; if [$ ext! == 'gif'] có thể không hiệu quả. & Nbsp;

Try:

$allowed = array['gif', 'png', 'jpg'];
$filename = $_FILES['video_file']['name'];
$ext = pathinfo[$filename, PATHINFO_EXTENSION];
if [!in_array[$ext, $allowed]] {
    echo 'error';
}

Đã trả lời ngày 8 tháng 11 năm 2020by Niroj • & NBSP; 82.800 điểm Nov 8, 2020 by Niroj
• 82,800 points

Các câu hỏi liên quan trong PHP

  • Tất cả danh mục
  • Apache Kafka [84][84]
  • Apache Spark [596][596]
  • Azure [131][131]
  • Dữ liệu lớn Hadoop [1.907][1,907]
  • Blockchain [1.673][1,673]
  • C# [124][124]
  • C ++ [268][268]
  • Tư vấn nghề nghiệp [1.060][1,060]
  • Điện toán đám mây [3,356][3,356]
  • An ninh mạng & hack đạo đức [145][145]
  • Phân tích dữ liệu [1.266][1,266]
  • Cơ sở dữ liệu [853][853]
  • Khoa học dữ liệu [75][75]
  • DevOps & Agile [3.500][3,500]
  • Tiếp thị kỹ thuật số [111][111]
  • Các chủ đề về sự kiện & xu hướng [28][28]
  • IoT [Internet of Things] [387][387]
  • Java [1.178][1,178]
  • Kotlin [3][3]
  • Quản trị Linux [384][384]
  • Học máy [337][337]
  • MicroStrargety [6][6]
  • PMP [423][423]
  • Power BI [516][516]
  • Python [3.154][3,154]
  • RPA [650][650]
  • Salesforce [92][92]
  • Selenium [1.569][1,569]
  • Kiểm tra phần mềm [56][56]
  • Tableau [608][608]
  • Talend [73][73]
  • Các loại [124][124]
  • Phát triển web [2.999][2,999]
  • Hỏi chúng tôi bất cứ điều gì! [66][66]
  • Những người khác [1.294][1,294]
  • Phát triển di động [46][46]

Đăng ký nhận bản tin của chúng tôi và nhận được các khuyến nghị cá nhân hóa.

Bạn co săn san để tạo một tai khoản? Đăng nhập.

Làm cách nào để nhận tiện ích mở rộng tệp trong PHP?

$ Extension = pathInfo [$ file_name, pathinfo_extension]; echo $ extext;? echo $extension ; ?> Using end[] function: It explodes the file variable and gets the last array element to be the file extension.

Làm thế nào để tôi biết phần mở rộng của một tệp?

Xem phần mở rộng tệp của một tệp..
Nhấp chuột phải vào tệp ..
Chọn tùy chọn Thuộc tính ..
Trong cửa sổ Thuộc tính, tương tự như những gì được hiển thị bên dưới, xem loại mục nhập tệp, là loại tệp và phần mở rộng.Trong ví dụ dưới đây, tệp là một tệp TXT với a.Text Tiện ích mở rộng ..

Một phần mở rộng trong PHP là gì?

Tiện ích mở rộng tệp PHP đề cập đến tên của một tệp có tập lệnh PHP hoặc mã nguồn có tiện ích mở rộng ".php" ở cuối của nó.Nó tương tự như một tệp từ với a.Phần mở rộng tập tin tài liệu.the name of a file with a PHP script or source code that has a ". PHP" extension at the end of it. It's similar to a Word file with a . doc file extension.

Làm thế nào kiểm tra xem tệp là PDF trong PHP?

Bạn có thể kiểm tra loại MIME của tệp bằng các chức năng thông tin tệp của PHP.Nếu nó trả về với loại 'Ứng dụng/PDF' thì nó phải là PDF.Các chức năng thông tin tệp đã được thêm vào trong Php 5.3 nhưng trước đó bạn có thể sử dụng hàm mime_content_type.using PHP's File Info Functions. If it returns with the type 'application/pdf' then it should be a PDF. The File Info Functions were added in PHP 5.3 but previous to that you are able to use the mime_content_type function.

Bài Viết Liên Quan

Chủ Đề