来源:1-6 file_get_contents() 函数实现查看文件内容

Beta_0001

2014-08-10 22:19

 $ext=strtolower(end(explode(".", $val)));

end();函数的php文档的介绍:The array.  This array is passed by reference because it is modified by the function.  This means you must pass it a real variable and not a function returning an array because only actual variables may be passed by reference.

我看的意思是不能通过函数返回数组,为什么这么写可以呢。

 $ext=strtolower(end(explode(".", $val)));这段代码在index.php的325行。

求解!!谢谢!

写回答 关注

4回答

  • King
    2014-08-13 11:44:33
    已采纳

    你看到end这个函数是只能的参数是取变量的地址,不可以直接把值直接传进去,所以会报这个警告。当PHP5.3以后严格校验的时候就会报这个问题。只能传变量,不可以直接写值。

  • Beta_0001
    2014-08-10 22:47:30

    有老师能解释一下具体的原因吗,为什么必须通过一个变量引用才行呢,Java中这样写好像可以,php中所有的函数是不是都必须通过变量引用才行,还是个别的。

  • Beta_0001
    2014-08-10 22:39:06

     $arr=explode(".", $val);

         $ext=strtolower(end($arr));

    这样改就行了。

  • Beta_0001
    2014-08-10 22:36:29

    我测试一下,报错了,Strict Standards: Only variables should be passed by reference in。我自己的代码和下载的源码都出现同样的错误。

    不知道你们的是否和我的一样。

WEB在线文件管理器

通过本课程文件目录函数库的学习,让你掌握文件、目录函数库的应用

36257 学习 · 346 问题

查看课程

相似问题