已弃用:节点已弃用split()函数


Deprecated: Function split() is deprecated for nodes

我使用PHP 5.3,并不断获得以下错误为我的split()函数。我已经看了这个问题的其他饲料,但没有一个答案似乎工作。

function storeFile() {
$path = $_SERVER['PHP_SELF'];
$nodes = split('/', $path);
$this->store('file', $nodes[count($nodes)-1]);
}

谢谢你们了!

from manual:

split()自PHP 5.3.0起已弃用。建议使用Preg_split ()此函数的替代方案。如果你不需要对于正则表达式,使用explosion()会更快,因为它不会导致正则表达式引擎的开销。

你可以这样修改你的代码:
function storeFile() {
$path = $_SERVER['PHP_SELF'];
$nodes = explode('/', $path);
$this->store('file', $nodes[count($nodes)-1]);
}

这是因为您正在使用一个已弃用的函数split()

split()自PHP 5.3.0起已弃用。Preg_split()是该函数的建议替代方案。如果你不需要正则表达式的强大功能,使用explosion()会更快,它不会带来正则表达式引擎的开销。

所以最好改成explode()功能

function storeFile() {
    $path = $_SERVER['PHP_SELF'];
    $nodes = explode('/', $path);
    $this->store('file', $nodes[count($nodes)-1]);
}

就用explode:

$nodes = explode('/', $path);

split已弃用。(见本页红框)