【问题标题】:PHP Error Was encountered, and I can not debug it myself遇到PHP错误,我自己无法调试
【发布时间】:2021-10-13 15:26:14
【问题描述】:

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

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

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

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

【问题讨论】:

标签: php debugging syntax-error


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2022-11-05
    • 1970-01-01
    • 2022-01-23
    • 2023-03-25
    • 2018-12-15
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    相关资源
    最近更新 更多