Page 1 of 1

List part of the Session array from a link.

Posted: Mon Apr 20, 2009 1:08 am
by Peuplarchie
Good day all,
I guess I'll simplified my question :
Sorry for the ones that saay that I'm repeating.
I have an array of file and folder that I push to session arrays like that :

Code: Select all

 
 
<?php
 $session_start();
 
$directory = "Art/";
function dirList ($directory)
{
 
    //create 2 arrays - one for folders and one for files
   $folders = array();
   $files = array();
 
    // create a handler for the directory
    $handler = opendir($directory);
 
    // keep going until all files in directory have been read
while (false !== ($file = readdir($handler))) {  
 
        // if $file isn't this directory or its parent,
        // add it to the results array
        if ($file != '.' && $file != '..')
       
        // If file is directory, mark it in bold.
       if(is_dir($directory.$file)) {
        array_push($folders,$file);
        
            if (time() - filemtime($directory.$file) < 604800) {
    $folder_modified[] = "<span style=\"color:#DB1212;\"><img src=\"minus_icon.gif\" id=\"plusminusimg".preg_replace('/\//','_',$directory."".$file)."\" onclick=\"Toggle('".preg_replace('/\//','_',$directory."".$file)."'); return false;\" /><a href=\"#\" style=\"color:#DB1212;\" onclick=\"load('folder_view.php?dir=".$directory."&file=".$file."','boxdisp');return false;\"><b>".$file."</b></a>";
} elseif (time() - filemtime($directory.$file) < 31556926) {
    $folder_modified[] = "<span style=\"color:#003366;\"><img src=\minus_icon.gif\"  id=\"plusminusimg".preg_replace('/\//','_',$directory."".$file)."\"  onclick=\"Toggle('".preg_replace('/\//','_',$directory."".$file)."'); return false;\" /><a href=\"#\" style=\"color:#003366;\" onclick=\"load('folder_view.php?dir=".$directory."&file=".$file."','boxdisp');return false;\"><b>".$file."</b></a>";
} else {$folder_modified[] = "<span style=\"color:#000000;\"><img src=\"minus_icon.gif\"  id=\"plusminusimg".preg_replace('/\//','_',$directory."".$file)."\"  onclick=\"Toggle('".preg_replace('/\//','_',$directory."".$file)."'); return false;\" /><a href=\"#\" style=\"color:#000000;\" onclick=\"load('folder_view.php?dir=".$directory."&file=".$file."','boxdisp');return false;\"><b>".$file."</b></a>";}
 
        
       
        // Else not styled
        }else{
        array_push($files,$file);
     $filenamecor = substr($file, 0, -4);
    if (time() - filemtime($directory.$file) < 604800) {
    $file_modified[] = '<span style="color:#DB1212;">'.$filenamecor.'<span>';
} elseif (time() - filemtime($directory.$file) < 31556926) {
    $file_modified[] = '<span style="color:#003366;">'.$filenamecor.'<span>';
} else {$file_modified[] = '<span style="color:#000000;">'.$filenamecor.'<span>';}
 
 
    }
 
    }
               $_SESSION['folders']=$folders;  
       $_SESSION['files']=$files;  
 
    echo "<ul id=\"".preg_replace('/\//','_',substr($directory,0,strlen($directory)-1))."\">\n"; //start a new unordered list for every iteration through dirList
 
$dircor = $directory;
    // tidy up: close the handler
    closedir($handler);
    foreach($folders as $folder=>$file) {
        
      echo "<li id=\"pic\"><div class=\"folder\">".$folder_modified[$folder]."</div>"; //echo the folder name enclosed in a list item
        dirList($directory.$file.'/'); //loop through the contents of $folder
      echo "</li>\n"; //close this list item after all files and folders in $folder have been looped through
   
   
    }
 
    foreach($files as $key=>$file) {
 
      echo "<li id=\"pic\"><a href=\"index.html\" onclick=\"load('image_view.php?dir=".$dircor."&file=".$file."','boxdisp');return false;\">&nbsp;".$file_modified[$key]."</a></li>\n"; //echo the file name enclosed in a list item
    }
 
 
    echo "</ul>\n"; //close the unordered list
}
 
 
dirList($directory);
 
?>
 
</div>
 
 
 

Now, like you can see , each file and folders are links.
I have no problem looking at the files, but for the folder I should be able to see all the file in that directory, non recursively listed from the arrays like here is my code now :

Code: Select all

 
 
 
 
<?PHP
session_start(); 
 
$dir = $_GET['dir'];
$file = $_GET['file'];
 
 
foreach($_SESSION['folders'] as $role ) {
    
    echo $role;
 
}
 
echo "<br>";
 
 
?>
 
 
Thnaks !