1

我正在使用 PHP 5.3,并且我的 split() 函数不断收到以下错误。我已经查看了有关此问题的其他提要,但是似乎没有一个答案有效。

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

多谢你们!

4

3 回答 3

2

从手册:

从 PHP 5.3.0 开始不推荐使用 split()。preg_split() 是此函数的建议替代方法。如果您不需要正则表达式的强大功能,使用explode() 会更快,它不会产生正则表达式引擎的开销。

你可以像这样修复你的代码:

function storeFile() {
$path = $_SERVER['PHP_SELF'];
$nodes = explode('/', $path);
$this->store('file', $nodes[count($nodes)-1]);
}
于 2013-06-16T16:52:38.010 回答
0

这是因为您使用的是已弃用的功能split()

从 PHP 5.3.0 开始不推荐使用 split()。preg_split() 是此函数的建议替代方法。如果您不需要正则表达式的强大功能,使用explode() 会更快,它不会产生正则表达式引擎的开销。

所以最好改成explode()功能

function storeFile() {
    $path = $_SERVER['PHP_SELF'];
    $nodes = explode('/', $path);
    $this->store('file', $nodes[count($nodes)-1]);
}
于 2013-06-16T16:51:30.827 回答
0

只需使用explode

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

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

于 2013-06-16T16:52:02.380 回答