Ragazzi vi prego aiutatemi.. qua sto diventando scemo... 
Ecco un codice che dovrebbe essere "semplicissimo"...
Codice PHP:
if ( strpos($dir,'/')===0 || is_numeric(strpos($dir,'../')) ) {
$dir = "";
echo '<p>Illegal path!</p>';
}
else if ( !is_dir(DOCROOT.SHARE.'/'.$dir) ) {
$dir = "";
echo '<p>Directory does not exist!</p>';
}
$list=array();
//$list = scandir(DOCROOT.SHARE.'/'.$dir);
$df=opendir(DOCROOT.SHARE.'/'.$dir);
while ($obj=readdir($df)) $list[]=$obj;
PROBLEMA:
SE i controlli (IF / else IF) vengono saltati, allora la Directory viene letta normalmente.
SE invece si entra in uno degli IF, la readdir(o scandir, non cambia nulla) restituisce un Array VUOTO!
Ho fatto mille prove.. anche se provo a leggere una directory "statica"
tipo "scandir('/miacartella/')", funziona solo se non si entra negli IF.
Spero di essermi fatto capire...