Hướng dẫn php check current file name - php kiểm tra tên tệp hiện tại

318

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Nếu tôi có tập lệnh PHP, làm thế nào tôi có thể lấy tên tệp của tệp hiện đang được thực thi mà không có phần mở rộng của nó?

Với tên của một tập lệnh của biểu mẫu "jQuery.js.php", làm thế nào tôi có thể trích xuất chỉ phần "jquery.js"?

Hướng dẫn php check current file name - php kiểm tra tên tệp hiện tại

Dharman ♦

28.2K21 Huy hiệu vàng75 Huy hiệu bạc127 Huy hiệu đồng21 gold badges75 silver badges127 bronze badges

hỏi ngày 19 tháng 11 năm 2010 lúc 1:24Nov 19, 2010 at 1:24

0

Chỉ cần sử dụng hằng số ma thuật PHP

function chopExtension($filename) {
    return pathinfo($filename, PATHINFO_FILENAME);
}

var_dump(chopExtension('bob.php')); // string(3) "bob"
var_dump(chopExtension('bob.i.have.dots.zip')); // string(15) "bob.i.have.dots"
7 để lấy tên tệp hiện tại.

Nhưng có vẻ như bạn muốn phần mà không có

function chopExtension($filename) {
    return pathinfo($filename, PATHINFO_FILENAME);
}

var_dump(chopExtension('bob.php')); // string(3) "bob"
var_dump(chopExtension('bob.i.have.dots.zip')); // string(15) "bob.i.have.dots"
8. Vì thế...

basename(__FILE__, '.php'); 

Một bộ tẩy mở rộng tệp chung hơn sẽ trông như thế này ...

function chopExtension($filename) {
    return pathinfo($filename, PATHINFO_FILENAME);
}

var_dump(chopExtension('bob.php')); // string(3) "bob"
var_dump(chopExtension('bob.i.have.dots.zip')); // string(15) "bob.i.have.dots"

Sử dụng các chức năng thư viện chuỗi tiêu chuẩn nhanh hơn nhiều, như bạn mong đợi.

function chopExtension($filename) {
    return substr($filename, 0, strrpos($filename, '.'));
}

Đã trả lời ngày 19 tháng 11 năm 2010 lúc 1:25Nov 19, 2010 at 1:25

Hướng dẫn php check current file name - php kiểm tra tên tệp hiện tại

Alexalexalex

468K197 Huy hiệu vàng867 Huy hiệu bạc975 Huy hiệu Đồng197 gold badges867 silver badges975 bronze badges

9

Khi bạn muốn bao gồm của bạn để biết nó ở trong tệp (nghĩa là tên tập lệnh thực sự được yêu cầu), hãy sử dụng:

basename($_SERVER["SCRIPT_FILENAME"], '.php')

Bởi vì khi bạn đang viết vào một tập tin, bạn thường biết tên của nó.

Chỉnh sửa: Như đã lưu ý bởi Alec Teal, nếu bạn sử dụng Symlinks, nó sẽ hiển thị tên Symlink thay thế.

Đã trả lời ngày 31 tháng 10 năm 2012 lúc 12:29Oct 31, 2012 at 12:29

Hướng dẫn php check current file name - php kiểm tra tên tệp hiện tại

SparksparkSparK

5.1312 Huy hiệu vàng23 Huy hiệu bạc32 Huy hiệu Đồng2 gold badges23 silver badges32 bronze badges

5

Hướng dẫn php check current file name - php kiểm tra tên tệp hiện tại

Đã trả lời ngày 28 tháng 3 năm 2012 lúc 8:04Mar 28, 2012 at 8:04

Hướng dẫn php check current file name - php kiểm tra tên tệp hiện tại

max4evermax4evermax4ever

11.5K12 Huy hiệu vàng75 Huy hiệu bạc113 Huy hiệu đồng12 gold badges75 silver badges113 bronze badges

0

Đây là sự khác biệt giữa

function chopExtension($filename) {
    return pathinfo($filename, PATHINFO_FILENAME);
}

var_dump(chopExtension('bob.php')); // string(3) "bob"
var_dump(chopExtension('bob.i.have.dots.zip')); // string(15) "bob.i.have.dots"
9 và
function chopExtension($filename) {
    return substr($filename, 0, strrpos($filename, '.'));
}
0.

function chopExtension($filename) {
    return pathinfo($filename, PATHINFO_FILENAME);
}

var_dump(chopExtension('bob.php')); // string(3) "bob"
var_dump(chopExtension('bob.i.have.dots.zip')); // string(15) "bob.i.have.dots"
9 hiển thị tên của tệp trong đó mã này được bao gồm - điều đó có nghĩa là nếu bạn đưa mã này vào Header.php và trang hiện tại là index.php, nó sẽ trả về tiêu đề không chỉ mục.

function chopExtension($filename) {
    return substr($filename, 0, strrpos($filename, '.'));
}
2 - Nếu bạn sử dụng bao gồm mã này trong Header.php và trang hiện tại là index.php, nó sẽ trả về chỉ mục không phải tiêu đề.

Đã trả lời ngày 21 tháng 11 năm 2012 lúc 15:00Nov 21, 2012 at 15:00

Hướng dẫn php check current file name - php kiểm tra tên tệp hiện tại

Khandad Niazikhandad NiaziKhandad Niazi

2.2863 huy hiệu vàng24 Huy hiệu bạc21 Huy hiệu đồng3 gold badges24 silver badges21 bronze badges

3

Điều này có thể giúp:

basename($_SERVER['PHP_SELF'])

Nó sẽ hoạt động ngay cả khi bạn đang sử dụng bao gồm.

Đã trả lời ngày 10 tháng 2 năm 2013 lúc 16:13Feb 10, 2013 at 16:13

charan315charan315charan315

2913 Huy hiệu bạc2 Huy hiệu Đồng3 silver badges2 bronze badges

3

Dưới đây là danh sách những gì tôi đã tìm thấy gần đây khi tìm kiếm một câu trả lời:

//self name with file extension
echo basename(__FILE__) . '
'; //self name without file extension echo basename(__FILE__, '.php') . '
'; //self full url with file extension echo __FILE__ . '
'; //parent file parent folder name echo basename($_SERVER["REQUEST_URI"]) . '
'; //parent file parent folder name with //s echo $_SERVER["REQUEST_URI"] . '
'; // parent file name without file extension echo basename($_SERVER['PHP_SELF'], ".php") . '
'; // parent file name with file extension echo basename($_SERVER['PHP_SELF']) . '
'; // parent file relative url with file etension echo $_SERVER['PHP_SELF'] . '
'; // parent file name without file extension echo basename($_SERVER["SCRIPT_FILENAME"], '.php') . '
'; // parent file name with file extension echo basename($_SERVER["SCRIPT_FILENAME"]) . '
'; // parent file full url with file extension echo $_SERVER["SCRIPT_FILENAME"] . '
'; //self name without file extension echo pathinfo(__FILE__, PATHINFO_FILENAME) . '
'; //self file extension echo pathinfo(__FILE__, PATHINFO_EXTENSION) . '
'; // parent file name with file extension echo basename($_SERVER['SCRIPT_NAME']);

Đừng quên loại bỏ :)

function chopExtension($filename) {
    return substr($filename, 0, strrpos($filename, '.'));
}
3

Đã trả lời ngày 25 tháng 2 năm 2016 lúc 9:07Feb 25, 2016 at 9:07

Begoyanbegoyanbegoyan

3944 Huy hiệu bạc10 Huy hiệu đồng4 silver badges10 bronze badges

2

Câu trả lời của Alex là chính xác nhưng bạn cũng có thể làm điều này mà không có biểu thức thường xuyên như vậy:

str_replace(".php", "", basename($_SERVER["SCRIPT_NAME"]));

Đã trả lời ngày 19 tháng 11 năm 2010 lúc 1:54Nov 19, 2010 at 1:54

Người dùnguser

16K27 Huy hiệu vàng78 Huy hiệu bạc96 Huy hiệu Đồng27 gold badges78 silver badges96 bronze badges

3

Bạn cũng có thể sử dụng điều này:

echo $pageName = basename($_SERVER['SCRIPT_NAME']);

Đã trả lời ngày 31 tháng 8 năm 2013 lúc 9:04Aug 31, 2013 at 9:04

Shah Alomshah AlomShah Alom

9951 Huy hiệu vàng14 Huy hiệu bạc26 Huy hiệu đồng1 gold badge14 silver badges26 bronze badges

Một cách chung hơn sẽ là sử dụng pathinfo (). Vì phiên bản 5.2, nó hỗ trợ

function chopExtension($filename) {
    return substr($filename, 0, strrpos($filename, '.'));
}
4.

Vì thế

pathinfo(__FILE__,PATHINFO_FILENAME)

Cũng sẽ làm những gì bạn cần.

Đã trả lời ngày 30 tháng 3 năm 2014 lúc 22:19Mar 30, 2014 at 22:19

MegachipmegachipMegachip

3493 Huy hiệu bạc13 Huy hiệu Đồng3 silver badges13 bronze badges

$argv[0]

Tôi đã thấy nó đơn giản hơn nhiều khi sử dụng

function chopExtension($filename) {
    return substr($filename, 0, strrpos($filename, '.'));
}
5. Tên của tập lệnh thực thi luôn là phần tử đầu tiên trong mảng
function chopExtension($filename) {
    return substr($filename, 0, strrpos($filename, '.'));
}
6. Không giống như tất cả các phương pháp khác được đề xuất trong các câu trả lời khác, phương pháp này không yêu cầu sử dụng
function chopExtension($filename) {
    return substr($filename, 0, strrpos($filename, '.'));
}
7 để xóa cây thư mục. Ví dụ:

  • function chopExtension($filename) {
        return substr($filename, 0, strrpos($filename, '.'));
    }
    
    8 trả về một cái gì đó như
    function chopExtension($filename) {
        return substr($filename, 0, strrpos($filename, '.'));
    }
    
    9

  • basename($_SERVER["SCRIPT_FILENAME"], '.php')
    
    0 Trả về ________ 31 \


Update:

@Martin chỉ ra rằng hành vi của

function chopExtension($filename) {
    return substr($filename, 0, strrpos($filename, '.'));
}
5 thay đổi khi chạy CLI. Trang thông tin về
function chopExtension($filename) {
    return substr($filename, 0, strrpos($filename, '.'));
}
6 trên các trạng thái php.net,

Đối số đầu tiên $ argv [0] luôn là tên được sử dụng để chạy tập lệnh.

Tuy nhiên, một nhận xét từ (tại thời điểm chỉnh sửa này) sáu năm trước, các quốc gia trước đây,

Đôi khi $ argv có thể là null, chẳng hạn như khi "Đăng ký-argc-argv" được đặt thành sai. Trong một số trường hợp, tôi đã tìm thấy biến được điền chính xác khi chạy "php-cli" thay vì chỉ "PHP" từ dòng lệnh (hoặc cron).

Xin lưu ý rằng dựa trên ngữ pháp của văn bản, tôi hy vọng tác giả bình luận có nghĩa là nói rằng biến được tạo ra không chính xác khi chạy "PHP-CLI." Tôi có thể đặt các từ trong miệng của người bình luận, nhưng có vẻ buồn cười khi nói rằng trong một số trường hợp, chức năng thỉnh thoảng hành xử chính xác. 😁

Đã trả lời ngày 19 tháng 1 năm 2018 lúc 3:19Jan 19, 2018 at 3:19

Hướng dẫn php check current file name - php kiểm tra tên tệp hiện tại

JBHJBHJBH

1.6531 Huy hiệu vàng17 Huy hiệu bạc29 Huy hiệu đồng1 gold badge17 silver badges29 bronze badges

2

Điều này phù hợp với tôi, ngay cả khi chạy bên trong một tệp PHP đi kèm và bạn muốn tên tệp của tệp PHP hiện tại đang chạy:

$currentPage= $_SERVER["SCRIPT_NAME"];
$currentPage = substr($currentPage, 1);
echo $currentPage;

Result:

index.php

Đã trả lời ngày 25 tháng 7 năm 2018 lúc 10:50Jul 25, 2018 at 10:50

Hướng dẫn php check current file name - php kiểm tra tên tệp hiện tại

BollibolliBolli

5.0626 Huy hiệu vàng31 Huy hiệu bạc47 Huy hiệu đồng6 gold badges31 silver badges47 bronze badges

Thử cái này

function chopExtension($filename) {
    return pathinfo($filename, PATHINFO_FILENAME);
}

var_dump(chopExtension('bob.php')); // string(3) "bob"
var_dump(chopExtension('bob.i.have.dots.zip')); // string(15) "bob.i.have.dots"
0

Hướng dẫn php check current file name - php kiểm tra tên tệp hiện tại

Đã trả lời ngày 8 tháng 2 năm 2018 lúc 5:35Feb 8, 2018 at 5:35

Hướng dẫn php check current file name - php kiểm tra tên tệp hiện tại

Mặc dù

function chopExtension($filename) {
    return pathinfo($filename, PATHINFO_FILENAME);
}

var_dump(chopExtension('bob.php')); // string(3) "bob"
var_dump(chopExtension('bob.i.have.dots.zip')); // string(15) "bob.i.have.dots"
7 và
basename($_SERVER["SCRIPT_FILENAME"], '.php')
5 là những cách tiếp cận tốt nhất nhưng đây có thể là một sự thay thế trong một số trường hợp:

function chopExtension($filename) {
    return pathinfo($filename, PATHINFO_FILENAME);
}

var_dump(chopExtension('bob.php')); // string(3) "bob"
var_dump(chopExtension('bob.i.have.dots.zip')); // string(15) "bob.i.have.dots"
1

Nó chứa đường dẫn tệp nơi bạn đang gọi nó từ và tất cả các loại khác bao gồm.

Đã trả lời ngày 11 tháng 5 năm 2021 lúc 20:24May 11, 2021 at 20:24

Hướng dẫn php check current file name - php kiểm tra tên tệp hiện tại

MahdyfomahdyfoMahdyfo

1.1457 Huy hiệu bạc18 Huy hiệu đồng7 silver badges18 bronze badges

1

Thử cái này

function chopExtension($filename) {
    return pathinfo($filename, PATHINFO_FILENAME);
}

var_dump(chopExtension('bob.php')); // string(3) "bob"
var_dump(chopExtension('bob.i.have.dots.zip')); // string(15) "bob.i.have.dots"
2

Đã trả lời ngày 13 tháng 9 năm 2020 lúc 13:12Sep 13, 2020 at 13:12

Alvin567Alvin567Alvin567

Huy hiệu đồng 1951 Silver8 Huy hiệu đồng1 silver badge8 bronze badges

3

Example:

Tệp bao gồm:

basename($_SERVER["SCRIPT_FILENAME"], '.php')
6

function chopExtension($filename) {
    return pathinfo($filename, PATHINFO_FILENAME);
}

var_dump(chopExtension('bob.php')); // string(3) "bob"
var_dump(chopExtension('bob.i.have.dots.zip')); // string(15) "bob.i.have.dots"
3

Tệp được thực hiện:

basename($_SERVER["SCRIPT_FILENAME"], '.php')
7

function chopExtension($filename) {
    return pathinfo($filename, PATHINFO_FILENAME);
}

var_dump(chopExtension('bob.php')); // string(3) "bob"
var_dump(chopExtension('bob.i.have.dots.zip')); // string(15) "bob.i.have.dots"
4

Đã trả lời ngày 1 tháng 6 năm 2021 lúc 21:04Jun 1, 2021 at 21:04

EugeneugenEugen

1.33812 huy hiệu bạc15 huy hiệu đồng12 silver badges15 bronze badges

function chopExtension($filename) {
    return pathinfo($filename, PATHINFO_FILENAME);
}

var_dump(chopExtension('bob.php')); // string(3) "bob"
var_dump(chopExtension('bob.i.have.dots.zip')); // string(15) "bob.i.have.dots"
5

Đã trả lời ngày 21 tháng 11 năm 2013 lúc 8:11Nov 21, 2013 at 8:11

Hướng dẫn php check current file name - php kiểm tra tên tệp hiện tại

Rahul Guptarahul GuptaRahul Gupta

9.3356 huy hiệu vàng58 Huy hiệu bạc67 Huy hiệu đồng6 gold badges58 silver badges67 bronze badges

function chopExtension($filename) {
    return pathinfo($filename, PATHINFO_FILENAME);
}

var_dump(chopExtension('bob.php')); // string(3) "bob"
var_dump(chopExtension('bob.i.have.dots.zip')); // string(15) "bob.i.have.dots"
7 Sử dụng các ví dụ dựa trên kết quả máy chủ localhost:

function chopExtension($filename) {
    return pathinfo($filename, PATHINFO_FILENAME);
}

var_dump(chopExtension('bob.php')); // string(3) "bob"
var_dump(chopExtension('bob.i.have.dots.zip')); // string(15) "bob.i.have.dots"
6

Đã trả lời ngày 21 tháng 1 năm 2016 lúc 11:25Jan 21, 2016 at 11:25

Dariusz Sikorskidariusz SikorskiDariusz Sikorski

4.1495 Huy hiệu vàng25 Huy hiệu bạc43 Huy hiệu đồng5 gold badges25 silver badges43 bronze badges

Như một số người đã nói

basename($_SERVER["SCRIPT_FILENAME"], '.php')
9 và
basename($_SERVER['PHP_SELF'])
0 là những cách tốt để kiểm tra điều này.

Đối với tôi sử dụng thứ hai là giải pháp cho một số hướng dẫn xác nhận mà tôi đang thực hiện

Hướng dẫn php check current file name - php kiểm tra tên tệp hiện tại

Tia lửa

5.1312 Huy hiệu vàng23 Huy hiệu bạc32 Huy hiệu Đồng2 gold badges23 silver badges32 bronze badges

Đã trả lời ngày 30 tháng 8 năm 2016 lúc 15:34Aug 30, 2016 at 15:34

GendrithgendrithGendrith

1701 Huy hiệu vàng3 Huy hiệu bạc13 Huy hiệu đồng1 gold badge3 silver badges13 bronze badges

Làm cách nào để tìm tên tệp hiện tại?

Cú pháp: 'Script_name' đưa đường dẫn từ gốc để bao gồm tên của thư mục ...
Để có được tên tệp hiện tại. Chúng tôi sử dụng $ currentPage = $ _server ['script_name'] ;.
Để hiển thị tên tệp hiện tại. Chúng tôi sử dụng. echo $ currentPage ;.

__ dir __ trong PHP là gì?

__Dir__ có thể được sử dụng để có được thư mục làm việc mã hiện tại.Nó đã được giới thiệu trong PHP bắt đầu từ phiên bản 5.3.Nó tương tự như sử dụng dirname (__ file__).Thông thường, nó được sử dụng để bao gồm các tệp khác có trong một tệp được bao gồm.used to obtain the current code working directory. It has been introduced in PHP beginning from version 5.3. It is similar to using dirname(__FILE__). Usually, it is used to include other files that is present in an included file.

Dirname là gì (__ Tệp __) là gì?

Dirname (__ File__) cho phép bạn có được một đường dẫn tuyệt đối (và do đó tránh tìm kiếm đường dẫn bao gồm) mà không cần dựa vào thư mục làm việc là thư mục trong đó bootstrap.php cư trú.(Lưu ý: Vì Php 5.3, bạn có thể sử dụng __dir__ thay cho dirname (__ File__).)allows you to get an absolute path (and thus avoid an include path search) without relying on the working directory being the directory in which bootstrap. php resides. (Note: since PHP 5.3, you can use __DIR__ in place of dirname(__FILE__) .)

Yếu tố nào của biến máy chủ PHP $ _ được sử dụng để lấy tên tệp của tập lệnh hiện đang thực hiện?

Hằng số __file__ chứa đường dẫn và tên tệp đầy đủ của tệp hiện tại (tức là bao gồm).Nếu PHP đang chạy như một bộ xử lý dòng lệnh này, biến này chứa tên tập lệnh.Mảng của các đối số được truyền cho kịch bản.__FILE__ constant contains the full path and filename of the current (i.e. included) file. If PHP is running as a command-line processor this variable contains the script name. Array of arguments passed to the script.