In effetti ho guardato distrattamente il codice e non mi sono accorto che la chiamata ricorsiva è dentro un for :P
La soluzione potrebbe essere quella di dichiarare una variabile globale all'inizio del codice

Codice PHP:
   global $index;

   
$index 0
e passarla alla prima chiamata della funzione dirExplorer

Codice PHP:
$out =  dirExplorertrim($path) , "" 200$index ); 
Ovviamente rimangono invariate le modifiche del mio post precedente:

Codice PHP:
if( !is_dir($path) ) 

   return 
"[*]<a href=\"".$path."\" onclick=\"window.open(this.href);return false;\">".strtoupper($d)."</a> - 
   <a id='delFile" 
$index "' href=\"java-script:void(0)\" title='".$d."'>rimuovi</a>\n" 

   
$index ++;            

e

Codice PHP:
   $str1 .= "".dirExplorer$npath $str1 , ++$step $stepLimit $index)."" 
Saluti.