Get the current script file name

If I have PHP script, how can I get the filename from inside that script?

Also, given the name of a script of the form jquery.js.php , how can I extract just the "jquery.js" part?


Just use the PHP magic constant __FILE__ to get the current filename.

But it seems you want the part without .php . So...

basename(__FILE__, '.php'); 

A more generic file extension remover would look like this...

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"

Using standard string library functions is much quicker, as you'd expect.

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

When you want your include to know what file it is in (ie. what script name was actually requested), use:

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

Because when you are writing to a file you usually know its name.

Edit: As noted by Alec Teal, if you use symlinks it will show the symlink name instead.


请参阅http://php.net/manual/en/function.pathinfo.php

pathinfo(__FILE__, PATHINFO_FILENAME);
链接地址: http://www.djcxy.com/p/69804.html

上一篇: 解析错误:语法错误,意外的$结束

下一篇: 获取当前脚本文件名称