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ề https://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.

    Phương pháp 1: Phương thức sau sử dụng phương thức strpos () và substr () in các giá trị của các lần xuất hiện cuối cùng.

    PHP

    if (stripos('/here/is/sOme.fiLe.PdF', '.pdf', -4) !== false )
    {
        //its a pdf file
    }
    
    1
    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"
    1
    if (stripos('/here/is/sOme.fiLe.PdF', '.pdf', -4) !== false )
    {
        //its a pdf file
    }
    
    5
    if (stripos('/here/is/sOme.fiLe.PdF', '.pdf', -4) !== false )
    {
        //its a pdf file
    }
    
    2
    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"
    4

    function fileExtension($s

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

    if (stripos('/here/is/sOme.fiLe.PdF', '.pdf', -4) !== false )
    {
        //its a pdf file
    }
    
    1
     $_SERVER[‘SCRIPT_NAME’]
    0

    if (stripos('/here/is/sOme.fiLe.PdF', '.pdf', -4) !== false )
    {
        //its a pdf file
    }
    
    1
    if (stripos('/here/is/sOme.fiLe.PdF', '.pdf', -4) !== false )
    {
        //its a pdf file
    }
    
    2
    if (stripos('/here/is/sOme.fiLe.PdF', '.pdf', -4) !== false )
    {
        //its a pdf file
    }
    
    3
    if (stripos('/here/is/sOme.fiLe.PdF', '.pdf', -4) !== false )
    {
        //its a pdf file
    }
    
    4
    if (stripos('/here/is/sOme.fiLe.PdF', '.pdf', -4) !== false )
    {
        //its a pdf file
    }
    
    5$s
    if (stripos('/here/is/sOme.fiLe.PdF', '.pdf', -4) !== false )
    {
        //its a pdf file
    }
    
    7
    if (stripos('/here/is/sOme.fiLe.PdF', '.pdf', -4) !== false )
    {
        //its a pdf file
    }
    
    8
    if (stripos('/here/is/sOme.fiLe.PdF', '.pdf', -4) !== false )
    {
        //its a pdf file
    }
    
    9

     $_SERVER[‘SCRIPT_NAME’]
    9

     Name: 001510d47316b41e63f337e33f4aaea4
     Extension: php
    0
    if (stripos('/here/is/sOme.fiLe.PdF', '.pdf', -4) !== false )
    {
        //its a pdf file
    }
    
    3
     Name: 001510d47316b41e63f337e33f4aaea4
     Extension: php
    2
     Name: 001510d47316b41e63f337e33f4aaea4
     Extension: php
    3
     Name: 001510d47316b41e63f337e33f4aaea4
     Extension: php
    4
     Name: 001510d47316b41e63f337e33f4aaea4
     Extension: php
    5

    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"
    5
    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"
    6
    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"
    7
    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"
    8

     Name: file.index
     Extension: php
    0

    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"
    5
    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"
    6
     $_SERVER[‘SCRIPT_NAME’]
    3
    if (stripos('/here/is/sOme.fiLe.PdF', '.pdf', -4) !== false )
    {
        //its a pdf file
    }
    
    5$s
    if (stripos('/here/is/sOme.fiLe.PdF', '.pdf', -4) !== false )
    {
        //its a pdf file
    }
    
    7__12
    The following method uses a predefined function pathinfo(). In the output, the “Name:” shows the name of the file and “Extension:” shows the file extension.

    Mã PHP: & NBSP; 

    PHP

     Name: file.index
     Extension: php
    1

     Name: file.index
     Extension: php
    2
    if (stripos('/here/is/sOme.fiLe.PdF', '.pdf', -4) !== false )
    {
        //its a pdf file
    }
    
    3
     Name: 001510d47316b41e63f337e33f4aaea4
     Extension: php
    2
     Name: 001510d47316b41e63f337e33f4aaea4
     Extension: php
    3
     Name: 001510d47316b41e63f337e33f4aaea4
     Extension: php
    4
     Name: 001510d47316b41e63f337e33f4aaea4
     Extension: php
    5

     Name: file.index
     Extension: php
    8
    if (stripos('/here/is/sOme.fiLe.PdF', '.pdf', -4) !== false )
    {
        //its a pdf file
    }
    
    30
    if (stripos('/here/is/sOme.fiLe.PdF', '.pdf', -4) !== false )
    {
        //its a pdf file
    }
    
    5
     Name: file.index
     Extension: php
    22

    ________ 64 & nbsp;

    if (stripos('/here/is/sOme.fiLe.PdF', '.pdf', -4) !== false )
    {
        //its a pdf file
    }
    
    30
    if (stripos('/here/is/sOme.fiLe.PdF', '.pdf', -4) !== false )
    {
        //its a pdf file
    }
    
    5
     Name: file.index
     Extension: php
    22

     Name: 001510d47316b41e63f337e33f4aaea4
     Extension: php
    6 function1function2
     Name: file.index
     Extension: php
    8
    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"
    8

     Name: 001510d47316b41e63f337e33f4aaea4
     Extension: php
    6 function6__72

     Name: file.index
     Extension: php
    0

    Đầu ra

     Name: 001510d47316b41e63f337e33f4aaea4
     Extension: php

    Phương pháp 3: Mã sau sử dụng hàm được xác định parse_url () và pathinfo () cho các URL.The following code uses thepredefined function parse_url()and pathinfo() for URLs.

    Mã PHP: & NBSP; 

    PHP

     Name: file.index
     Extension: php
    8
    if (stripos('/here/is/sOme.fiLe.PdF', '.pdf', -4) !== false )
    {
        //its a pdf file
    }
    
    30
    if (stripos('/here/is/sOme.fiLe.PdF', '.pdf', -4) !== false )
    {
        //its a pdf file
    }
    
    5
     Name: file.index
     Extension: php
    22

    ________ 64 & nbsp;

    if (stripos('/here/is/sOme.fiLe.PdF', '.pdf', -4) !== false )
    {
        //its a pdf file
    }
    
    30
    if (stripos('/here/is/sOme.fiLe.PdF', '.pdf', -4) !== false )
    {
        //its a pdf file
    }
    
    5
     Name: file.index
     Extension: php
    22

     Name: 001510d47316b41e63f337e33f4aaea4
     Extension: php
    6 function1function2
     Name: file.index
     Extension: php
    8
    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"
    8

     Name: 001510d47316b41e63f337e33f4aaea4
     Extension: php
    6 function6__72

    Đầu ra

    Phương pháp 3: Mã sau sử dụng hàm được xác định parse_url () và pathinfo () cho các URL.

     Name: file.index
     Extension: php
    0

    Đầu ra

     Name: file.index
     Extension: php


    Làm cách nào để tìm phần mở rộng 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 ..

    Pathinfo làm gì trong PHP?

    PathInfo () là một hàm sẵn có được sử dụng để trả về thông tin về đường dẫn sử dụng mảng kết hợp hoặc chuỗi. Mảng hoặc chuỗi được trả về chứa thông tin sau: Tên thư mục. Basename.return information about a path using an associative array or a string. The returned array or string contains the following information: Directory name. Basename.

    Có nhiều chức năng khác nhau cho phép bạn đọc tất cả dữ liệu tệp, đọc từng dòng dữ liệu và đọc ký tự dữ liệu theo ký tự.Các chức năng đọc tệp PHP có sẵn được đưa ra dưới đây ..

    Có nhiều chức năng khác nhau cho phép bạn đọc tất cả dữ liệu tệp, đọc từng dòng dữ liệu và đọc ký tự dữ liệu theo ký tự. Các chức năng đọc tệp PHP có sẵn được đưa ra dưới đây ...
    $ fp = fopen ("C: \\ file1.txt", "r"); // Mở tệp ở chế độ đọc ..
    while (! feof ($ fp)) {.
    echo fgetc ($ fp) ;.
    Basename PHP là gì?
    fclose($fp);.

    Hàm basename là hàm PHP sẵn có chủ yếu được sử dụng để trả về tên cơ sở của một tệp đã cho trên một điều kiện nhất định khi đường dẫn của tệp mong muốn được đưa ra dưới dạng tham số bên trong hàm tên cơ sở.tức là, nó cho tên dấu vết của đường dẫn.Cú pháp: chuỗi basename ($ path, $ hậu tố)

    Làm cách nào để xem một tệp trong PHP?an inbuilt PHP function mainly used to return the base name of a given file on a certain condition when the path of the desired file is given as a parameter inside the base name function. i.e., it gives the trailing name of the path. Syntax: String basename ( $ path , $ suffix )