lgarner, thanks for replying. I put the directory outside the web root which worked fine, i could browse the directory etc... but i have problems selecting the file to download as it is a hyperlink... maybe this is the correct way to do it... if i post my php code you can see what i mean...... if i can get select the file to download then this will solve all my problems...
<?php
// false - don't allow switching to the parent-directory of this script
// true - allow simple switching to the parent-directory (via 'href')
$allow_parent = "false";
//configuration ends here---------------------------------------------------------------------------------------------------------------------------
//=======================================================================================
$path=$_GET["path"];
$SCRIPT_NAME=getenv("SCRIPT_NAME");
//put directory content in arrays-----------------------------------------------------------------------------------------------------------------
// if (!isset($path)) { $path = "./"; }
if (!isset($path)) { $path = "/home/websys/webs/test.websys.co.uk/files/standard/reports/"; }
if (!file_exists($path)) { echo "<h2>File not found!</h2>"; exit; }
if (strstr($path,"..")) { echo "<h2>invalid path!</h2>"; exit; }
// $base_dir = getcwd();
$base_dir = "/home/websys/webs/test.websys.co.uk/files/standard/reports";
chdir($path);
$current_dir = getcwd();
$directory = dir("./");
$directories_array = array();
$files_array = array();
while ($file = $directory->read()) {
if (is_dir($file) AND $file != ".") { $directories_array[] = $file; }
if (is_file($file)) { $files_array[] = $file; }
}
$directory->close();
//sort and output the arrays-----------------------------------------------------------------------------------------------------------------------
$file_location = "files/standard/reports/".basename($current_dir)."/";
echo "<P class='tableheading'>Directory listing for ".basename($current_dir)."</P>";
echo "<table width='100%'>";
echo "<tr class='tableheading'><td width='250'><div align='left'>Name</div></td><td width='50'><div align='left'>Size</div></td><td width='50'><div align='left'>Date</div></td></tr>";
sort($directories_array);
foreach($directories_array as $value) {
if ($value=="..") { $new_path=strrev(substr(strstr(substr(strstr(strrev($path),"/"),1),"/"),1)); }
else { $new_path=$path.$value; }
if (($value != "..") OR ($base_dir != $current_dir)) {
echo "<tr><td><a href=\"$SCRIPT_NAME?path=".urlencode($new_path."/")."\">$value</a><b>/</b></td><td></td><td>".gmdate("d M Y H:i",filemtime($value))."</td></tr>";
}
elseif ($allow_parent == "true") {
echo "<tr><td><a href=\"$value\">$value</a><b>/</b></td><td></td><td>".gmdate("d M Y H:i",filemtime($value))."</td></tr>"; }
}
sort($files_array);
foreach($files_array as $value) {
if($value != basename($SCRIPT_NAME) or $path!="./") {
$filesize=filesize($value);
if ($filesize > 1073741823) { $filesize = sprintf("%.1f",($filesize/1073741824))." GB"; }
elseif ($filesize > 1048575) { $filesize = sprintf("%.1f",($filesize/1048576))." MB"; }
elseif ($filesize > 1023) { $filesize = sprintf("%.1f",($filesize/1024))." kB"; }
else { $filesize = $filesize." byte"; }
//echo "<tr><td><a href=\"$path$value\">$value</a></td><td>$filesize</td><td>".gmdate("d M Y H:i",filemtime($value))."</td></tr>";
echo "<tr><td><a href=\"$file_location$value\">$value</a></td><td>$filesize</td><td>".gmdate("d M Y H:i",filemtime($value))."</td></tr>";
}
}
echo "</table>";
?>
kindest regards,
dee