File "tree03.php"
Full Path: /home/analogde/www/Freebox/CHESS_ON/tree03.php
File size: 5.61 KB
MIME-type: text/x-php
Charset: utf-8
<?php
//chdir("Utilisateurs");
//$dirs = array_filter(glob('*'), 'is_dir');
//echo "<pre>";
//print_r( $dirs);
/* function getAllSubdirectories($base) {
$dir_array = array();
if (!is_dir($base)) {
echo "plouf";
return $dir_array;
}
if ($dh = opendir($base)) {
while (($file=readdir($dh)) !== false) {
if ($file == '.' || $file == '..') continue;
if (is_dir($base.'/'.$file)) {
$dir_array[] = $file;
} else {
array_merge($dir_array, rendertask::getAllSubdirectories($base.'/'.$file));
}
}
closedir($dh);
return $dir_array;
}
}
getAllSubdirectories("Utilisateurs");*/
$dir = "Utilisateurs";
$scan = scandir($dir);
$tab_repertoire = array();
foreach($scan as $element)
{
if (is_dir($element))
{
$tab_repertoire[] = $element;
}
}
echo "<pre>";
print_r($tab_repertoire);
function explorer($chemin){
$lstat = lstat($chemin);
$mtime = date('d/m/Y H:i:s', $lstat['mtime']);
$filetype = filetype($chemin);
// Affichage des infos sur le fichier $chemin
echo "$chemin type: $filetype size: $lstat[size] mtime: $mtime\n";
// Si $chemin est un dossier => on appelle la fonction explorer() pour chaque élément (fichier ou dossier) du dossier$chemin
if( is_dir($chemin) ){
$me = opendir($chemin);
while( $child = readdir($me) ){
if( $child != '.' && $child != '..' ){
explorer( $chemin.DIRECTORY_SEPARATOR.$child );
}
}
}
}
header('Content-type: text/plain');
explorer($dir);
function scanRecursiveDir($dir){
$files = scandir($dir);
$allFiles = array();
foreach($files as $file){
if($file!='.' && $file!='..'){
if(is_dir($dir.$file)){
$allFiles = array_merge($allFiles,Fonction::scanRecursiveDir($dir.$file));
}else{
$allFiles[]=str_replace('//','/',$dir.'/'.$file);
}
}
}
return $allFiles;
}
function explore_bis($homedir) {
$dir = openDir($homedir);
while ($file = readDir($dir)) {
if (($file!=".")&&($file!="..")) {
// Est-ce que $file est un répertoire ?
// Pour le savoir il suffit d'appeler is_dir()
// mais attention n'oublions pas d'ajouter
// le chemin au nom du fichier
if (is_dir("$homedir/$file")) {
// oui ? alors explorons-le
// REM: On pourrait en plus l'afficher
explore("$homedir/$file");
} else {
// sinon, c'est un fichier et on l'affiche
$cheminComplet = $homedir."/".$file;
// (mais sans le chemin $_SERVER["DOCUMENT_ROOT"]
echo substr($cheminComplet, strlen(dirname($_SERVER["DOCUMENT_ROOT"]))).
"<br/>";
}
}
}
// C'est fini. On ferme !
closeDir($dir);
}
// Définition du chemin à explorer (adaptez a votre environnement)
//$repertoire = dirname($_SERVER["DOCUMENT_ROOT"])."/filedirexample";
echo "---------------------------------------------------------------";
// L'appel à la fonction
//explore_bis($dir);
function listFolderFiles($dir){
$ffs = scandir($dir);
echo '<ol>';
foreach($ffs as $ff){
if($ff != '.' && $ff != '..'){
echo '<li>'.$ff;
if(is_dir($dir.'/'.$ff)) listFolderFiles($dir.'/'.$ff);
echo '</li>';
}
}
echo '</ol>';
}
listFolderFiles($dir);
echo "**********************";
function listdirs($dir) {
static $alldirs = array();
$dirs = glob($dir . '/*', GLOB_ONLYDIR);
if (count($dirs) > 0) {
foreach ($dirs as $d) $alldirs[] = $d;
}
foreach ($dirs as $dir) listdirs($dir);
return $alldirs;
}
$directory_list = listdirs($dir);
print_r($directory_list);
echo "**********************";
function getDirectory($path = '.', $ignore = '') {
$dirTree = array ();
$dirTreeTemp = array ();
$ignore[] = '.';
$ignore[] = '..';
$dh = @opendir($path);
while (false !== ($file = readdir($dh))) {
if (!in_array($file, $ignore)) {
if (!is_dir("$path/$file")) {
$dirTree["$path"][] = $file;
} else {
$dirTreeTemp = getDirectory("$path/$file", $ignore);
if (is_array($dirTreeTemp))$dirTree = array_merge($dirTree, $dirTreeTemp);
}
}
}
closedir($dh);
return $dirTree;
}
$ignore = array('.htaccess', 'error_log', 'cgi-bin', 'php.ini', '.ftpquota');
$dirTree = getDirectory($dir, $ignore);
echo "<pre>";
print_r($dirTree);
// Fonction de dessin basique d'un "array" PHP sous forme de treeview
// 10.05.2011 - gael@memepasmal.ch - http://www.memepasmal.ch/2011/05/10/php-array-treeview/
function drawTree($myarray, $level = 0)
{
// Boucle sur chaque élément du tableau
foreach($myarray as $key => $value)
{
// En cas d'objet on convertit en tableau
if (is_object($value)) $value = (array)$value;
// Si l'élément est un tableau
if (is_array($value)) {
// On l'affiche en tant que noeud
echo '<div style="padding-left: ' . ($level * 20) . 'px">[' . $key . ']</div>';
// Puis on affiche son arborescence, à un niveau supérieur
drawTree($value, $level + 1);
} else {
// C'est une valeur, on l'affiche
echo '<div style="padding-left: ' . ($level * 20) . 'px">' . $key . ' = <b>' . $value . '</b></div>';
}
}
}
drawTree($dir, $level = 2);
?>