Hướng dẫn how to extract file extension in php? - làm thế nào để giải nén phần mở rộng tập tin trong php?

Cách "tốt nhất" phụ thuộc vào ngữ cảnh và những gì bạn đang làm với phần mở rộng tệp đó. Tuy nhiên, However,

Pathinfo nói chung là tốt nhất khi bạn xem xét tất cả các góc.

pathinfo[$file, PATHINFO_EXTENSION]

Nó không phải là nhanh nhất, nhưng nó đủ nhanh. Nó rất dễ đọc, dễ nhớ và tái sử dụng ở mọi nơi. Bất cứ ai cũng có thể hiểu nó trong nháy mắt và xóa cờ pathinfo_ext nếu họ cần thêm thông tin về tệp.

Phương pháp Strrpos. Được mô tả trong một số câu trả lời nhanh hơn có nhưng yêu cầu kiểm tra an toàn bổ sung, đến lượt nó, yêu cầu bạn phải bọc nó bên trong một chức năng, để làm cho nó dễ dàng tái sử dụng. Sau đó, bạn phải mang chức năng với bạn từ dự án để dự án hoặc tìm kiếm nó. Gói nó trong một cuộc gọi chức năng với kiểm tra thêm cũng làm cho nó chậm hơn và nếu bạn cần bất kỳ thông tin nào khác về tệp bạn bây giờ có các phương thức khác để gọi và tại thời điểm đó, bạn sẽ mất lợi thế tốc độ trong khi có một giải pháp khó đọc hơn. Tiềm năng cho tốc độ là có nhưng không xứng đáng trừ khi bạn cần giải quyết một nút cổ chai như vậy.

Tôi cũng sẽ loại trừ bất kỳ ý tưởng nào bằng cách sử dụng chất nền, bùng nổ và hầu hết các thao tác thủ công khác vì những lý do tương tự được đề cập ở trên.

❌SplfileInfo rất tuyệt nhưng chiếm nhiều không gian não hơn với rất nhiều giao diện mà bạn không nghi ngờ gì khi lãng phí thời gian học chỉ để tìm kiếm chúng trở lại vào lần tới. Tôi chỉ sử dụng nó trong các trường hợp cụ thể mà bạn sẽ tìm thấy các giao diện bổ sung đáng giá ai đó học SPL khi họ quay lại để thêm/chỉnh sửa mã của bạn sau.

Tôi hoàn toàn không xem xét preg_replace vì bất kỳ hàm regex nào trong PHP chậm hơn trung bình 3 lần so với bất kỳ chức năng nào khác, khó đọc hơn và trong hầu hết các trường hợp có thể dễ dàng thực hiện với một cái gì đó đơn giản hơn. Regex rất mạnh mẽ và nó có vị trí của nó trong những tình huống cụ thể trong đó nó có thể thay thế một số cuộc gọi phương thức và kiểm tra điều kiện trong một dòng. Nhận một phần mở rộng tệp theo cách này giống như sử dụng đe để búa trong đinh.

Mặc dù tất nhiên "tốt nhất" sẽ đi vào dư luận, tôi cho rằng các phương pháp khác chỉ là "tốt nhất" trong các trường hợp chuyên ngành.

Ví dụ: nếu bạn chỉ muốn kiểm tra một loại cụ thể thì tôi sẽ không sử dụng bất kỳ phương pháp nào được đề xuất vì Stripos sẽ là so sánh không nhạy cảm nhất với việc sử dụng.

if [stripos['/here/is/sOme.fiLe.PdF', '.pdf', -4] !== false ]
{
    //its a pdf file
}

Nhưng một lần nữa Pathinfo vẫn sẽ đẹp hơn để đọc và có lẽ đáng giá chi phí hiệu suất.

Nhưng những gì về //ome.com.///lica.ted?urls?

Trích xuất các đường dẫn từ URL là một mối quan tâm riêng biệt nằm ngoài phạm vi của câu hỏi và sẽ yêu cầu thêm một bước trong mọi trường hợp mà một so sánh chuỗi một lần đơn giản sẽ không làm.

Xem thảo luận

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Xem thảo luận

    Cải thiện bài viết

    Lưu bài viết

    Đọc

    Input  : c:/xampp/htdocs/project/home
    Output : ""
    
    Input  : c:/xampp/htdocs/project/index.php
    Output : ".php"
    
    Input  : c:/xampp/htdocs/project/style.min.css
    Output : ".css"

    Bàn luận

    Trong bài viết này, chúng tôi sẽ tìm hiểu làm thế nào để có được các phần mở rộng tệp hiện tại trong PHP.

    Syntax:  

     $_SERVER[‘SCRIPT_NAME’]
    • Sử dụng $ _Server [‘script_name,]: & nbsp;

    $ _Server là một loạt các thông tin được lưu trữ như tiêu đề, đường dẫn và vị trí tập lệnh. Các mục này được tạo bởi máy chủ web. Không có cách nào khác mà mọi máy chủ web sẽ cung cấp bất kỳ thông tin nào trong số này.The following method uses the strpos[]and substr[] methodsto print the values of the last occurrences.

    Script_name, cung cấp đường dẫn từ gốc để bao gồm tên của thư mục.

    Bài Viết Liên Quan

    Chủ Đề