예제 #1
0
function is_path_safe(&$path, &$filename)
{
    global $uploads_folder_name;
    $path = clean_path($path);
    $filename = clean_path($filename);
    if (!file_exists("{$uploads_folder_name}/{$path}") || !show_hidden_files($filename)) {
        return false;
    }
    return true;
}
예제 #2
0
function listing($nom_rep)
	{
	global $sens,$ordre,$size_unit;
	$poidstotal=0;
	$handle=opendir($nom_rep);
	while ($fichier = readdir($handle))
		{
		if($fichier!="." && $fichier!=".." && show_hidden_files($fichier)==1) 
			{
			$poidsfic=filesize("$nom_rep/$fichier");
			$poidstotal+=$poidsfic;
			if(is_dir("$nom_rep/$fichier")) 
				{
				if($ordre=="mod") {$liste_rep[$fichier]=filemtime("$nom_rep/$fichier");}
				else {$liste_rep[$fichier]=$fichier;}
				}
			else
				{
				if($ordre=="nom") {$liste_fic[$fichier]=mimetype("$nom_rep/$fichier","image");}
				else if($ordre=="taille") {$liste_fic[$fichier]=$poidsfic;}
				else if($ordre=="mod") {$liste_fic[$fichier]=filemtime("$nom_rep/$fichier");}
				else if($ordre=="type") {$liste_fic[$fichier]=mimetype("$nom_rep/$fichier","type");}
				else {$liste_fic[$fichier]=mimetype("$nom_rep/$fichier","image");}
				}
			}
		}
	closedir($handle);
	
	if(is_array($liste_fic)) 
		{
		if($ordre=="nom") {if($sens==0){ksort($liste_fic);}else{krsort($liste_fic);}}
		else if($ordre=="mod") {if($sens==0){arsort($liste_fic);}else{asort($liste_fic);}}
		else if($ordre=="taille"||$ordre=="type") {if($sens==0){asort($liste_fic);}else{arsort($liste_fic);}}
		else {if($sens==0){ksort($liste_fic);}else{krsort($liste_fic);}}
		}
	if(is_array($liste_rep)) 
		{
		if($ordre=="mod") {if($sens==0){arsort($liste_rep);}else{asort($liste_rep);}}
		else {if($sens==0){ksort($liste_rep);}else{krsort($liste_rep);}}
		}
	
	$liste=assemble_tableaux($liste_rep,$liste_fic);
	if ($poidstotal >= 1073741824) {$poidstotal = round($poidstotal / 1073741824 * 100) / 100 . " G".$size_unit;}
	elseif ($poidstotal >= 1048576) {$poidstotal = round($poidstotal / 1048576 * 100) / 100 . " M".$size_unit;}
	elseif ($poidstotal >= 1024) {$poidstotal = round($poidstotal / 1024 * 100) / 100 . " K".$size_unit;}
	else {$poidstotal = $poidstotal . " ".$size_unit;} 	

	return array($liste,$poidstotal);	
	}