PHP 遇到错误,无法自行调试

PHP Error Was encountered, and I can not debug it myself

我正在努力调试将照片上传到我的网站时遇到的 PHP 错误。顺便说一句,它不是 WordPress。错误信息说 “遇到 PHP 错误,严重性:通知 消息:只有变量应该通过引用传递 文件名:admin/vehicles.php 行号:322

下面是该文件中的文本行和第 322 行。我不确定这些信息是否足够,但如果它是一个简单的语法错误,我确定它是。

 $ext = array_pop(explode('.', $_FILES['slider_image']['name']));

提前致谢!如果需要,我可以提供更多代码。

array_pop 需要一个实际变量,而不是返回的数组,因为它使用指针。

试试这个:

$array = explode('.', $_FILES['slider_image']['name']);
$ext = array_pop($array);

稍微扩展一下:

如果你使用explode('.', $_FILES['slider_image']['name']);,你会得到一个数组。然而,这个数组并不真正存在。它基本上无家可归。当您将它分配给一个变量时,它会在内存中获得一个实际的“地址”。

array_pop 只接受引用,不接受值(这称为“按引用传递”与“按值传递”)。所以你不给array_pop一个值,而是给值的地址。这些函数通常在函数定义中的变量名前有一个&符号。

https://www.php.net/manual/en/function.array-pop.php