Auto-populate a list with the filenames within a folder

In this article we will describe how to auto-populate a list with the name of the files in a folder of your choice.

In order to achieve this paste the following code to the "Items" text area. This area accepts custom PHP script.

// This shouldn't be needed in Joomla 3.x, but better safe than sorry!
// Initialize our empty array that will hold the values.
$items = array();
// If you want to show a "Please select" item ([c] means that the value is selected by default), uncomment the following line:
// $items[] = "|Please select[c]";
// Grab all the files from your selected folder. JFolder::files() is a Joomla! framework function.
$files = JFolder::files('/path/to/your/folder');
// You can use paths relative to your Joomla! root, which is stored in the constant JPATH_SITE:
// $files = JFolder::files(JPATH_SITE.'/language/en-GB');
// The above grabs all frontend language files from the en-GB folder.
// Now, let's merge the two arrays (our initial array + the list of files)
$items = array_merge($items, $files);
// The list of files should be returned each on a new line,
// so we convert this array into a string and we separate values by a new line (\n).
return implode("\n", $items);


  • The "Please Select" string will appear at the top of the list, the "[c]" option making it the default selected item.
  • The code tags(//<code> and //</code>) are mandatory for the script to work.