"Strict Standards: Only variables should be passed by reference" error

php

Solution

This should be OK

   $value = explode(".", $value);
   $extension = strtolower(array_pop($value));   //Line 32
   // the file name is before the last "."
   $fileName = array_shift($value);  //Line 34

Problem

I am trying to get an HTML-based recursive directory listing based on code here: http://webdevel.blogspot.in/2008/06/recursive-directory-listing-php.html Code runs fine but it throws some errors: Strict Standards: Only variables should be passed by reference in C:\xampp\htdocs\directory5.php on line 34 Strict Standards: Only variables should be passed by reference in C:\xampp\htdocs\directory5.php on line 32 Strict Standards: Only variables should be passed by reference in C:\xampp\htdocs\directory5.php on line 34 Below is the excerpt of code: ``` else { // the extension is after the last "." $extension = strtolower(array_pop(explode(".", $value))); //Line 32 // the file name is before the last "." $fileName = array_shift(explode(".", $value)); //Line 34 // continue to next item if not one of the desired file types if(!in_array("*", $fileTypes) && !in_array($extension, $fileTypes)) continue; // add the list item $results[] = "<li class=\"file $extension\"><a href=\"".str_replace("\\", "/", $directory)."/$value\">".$displayName($fileName, $extension)."</a></li>\n"; } ```

Original source

Related problems