【问题标题】:Strict Standards: Only variables should be passed by reference - php error严格标准:只能通过引用传递变量 - php错误
【发布时间】:2012-08-06 20:42:02
【问题描述】:
    $file_name = $_FILES['profile_image']['name'];
    $file_ext = end(explode('.', $file_name)); //line 10
    $file_ext = strtolower($file_ext);
    $file_temp = $_FILES['profile_image']['tmp_name'];

严格的标准:第 10 行中只能通过引用传递变量

如何消除此错误?请和谢谢你:)

【问题讨论】:

标签: php variables standards strict


【解决方案1】:

end()期望它的参数可以通过引用传递,只有变量可以通过引用传递:

$array = explode('.', $file_name);
$file_ext = end( $array); 

您可以先将数组保存到变量中,然后调用end() 来解决此问题。

【讨论】:

    【解决方案2】:

    如果您想要数组中的最后一项,请执行以下操作:

    $arr = explode(".", $file_name);
    $file_ext = $arr[count($arr) - 1];
    

    如果您只是想从文件中获取扩展名,请使用

    $ext = pathinfo($file_name, PATHINFO_EXTENSION);
    

    【讨论】:

      【解决方案3】:

      其实,如果你写 $ext = end(explode('.', $filename));为了获取文件扩展名,“只有变量应该通过引用传递”可以在 php.ini 中显示。出于这个原因,尝试使用它两个步骤,如: $tmp = explode('.', $filename); $ext = end($tmp);

      【讨论】:

        猜你喜欢
        • 2017-07-24
        • 2012-10-25
        • 2013-05-21
        • 1970-01-01
        • 2012-04-08
        • 2015-02-02
        • 2017-07-08
        相关资源
        最近更新 更多