Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
653 views
in Technique[技术] by (71.8m points)

php - Strict Standards: Only variables should be passed by reference in..

I am receiving an error when I attempt to upload an image. The image is always uploaded, but after every upload I receive this error:

Strict Standards: Only variables should be passed by reference in /filemanager/afmlib.php on line 57

Line 57 in my filemanager is:

 function AFM_fileExt($filename)
 {
  return strtolower(end(explode('.', $filename)));////THIS IS LINE: 57
 }

How can I fix this?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Why not let PHP do the work:

function AFM_fileExt($filename) {
    return strtolower(pathinfo($filename, PATHINFO_EXTENSION));
}

For the sake of completeness, this answer gives a good explanation of how the error arises. It's because end(array &$array) uses a reference - note the ampersand in the declaration.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...