end(explode) 严格的标准:只有变量应该通过引用传递
end(explode) Strict Standards: Only variables should be passed by reference in
我有这个代码来获取文件的扩展名:
$extension = end(explode(".", $_FILES["rfile"]["name"]));
这在本地主机上工作正常,但是当我上传在线托管时,它给我这个错误:
Strict Standards: Only variables should be passed by reference in...
您的本地主机是旧 PHP 版本或未配置为显示严格的标准错误。
现在 PHP,你应该这样做:
$explode = explode(".", $_FILES["rfile"]["name"]);
$extension = end($explode);
参见文档中的示例:http://php.net/manual/en/function.end.php#refsect1-function.end-examples
PHP end
将对变量的引用作为参数。
http://php.net/manual/en/function.end.php
因此,在启用严格标准的情况下,您应该先将 explode
的结果放入变量中:
$exp = explode(".", $_FILES["rfile"]["name"])
$extension = end($exp);
为什么不用pathinfo(PHP >= 4.0.3
),即:
$ext = pathinfo($_FILES["rfile"]["name"])['extension'];
现场PHP演示
我有这个代码来获取文件的扩展名:
$extension = end(explode(".", $_FILES["rfile"]["name"]));
这在本地主机上工作正常,但是当我上传在线托管时,它给我这个错误:
Strict Standards: Only variables should be passed by reference in...
您的本地主机是旧 PHP 版本或未配置为显示严格的标准错误。
现在 PHP,你应该这样做:
$explode = explode(".", $_FILES["rfile"]["name"]);
$extension = end($explode);
参见文档中的示例:http://php.net/manual/en/function.end.php#refsect1-function.end-examples
PHP end
将对变量的引用作为参数。
http://php.net/manual/en/function.end.php
因此,在启用严格标准的情况下,您应该先将 explode
的结果放入变量中:
$exp = explode(".", $_FILES["rfile"]["name"])
$extension = end($exp);
为什么不用pathinfo(PHP >= 4.0.3
),即:
$ext = pathinfo($_FILES["rfile"]["name"])['extension'];
现场PHP演示