Kurt Hansen skrev:
> Dette script viser kun filerne i undermapperne - ikke dem der ligger i
> roden. Hvilken linje skal jeg ændre til hvad?
Hvis det skal vise, hvad der ligger i roden, og 2 lag undermapper, så prøv dette:
<?php
$roden = '/Danacord/Hjemmeside/grafik'; # mappen det drejer sig om
$begynd=0; # øverste niveau, der skal vises ( 0 = $roden )
$slut=2; # stop 2 niveauer nede
class FolderHelper {
private $depth = 0;
public $result = array();
public function scan($dir = null) {
$scan = scandir($dir);
$result = array();
foreach ($scan as $key => $value) {
if (!in_array($value, array(".",".."))) {
if (is_dir($dir . DIRECTORY_SEPARATOR . $value)) {
$this->depth++;
$this->scan($dir . DIRECTORY_SEPARATOR . $value);
$this->depth--;
} else {
$grafik='';
if ($temp=getimagesize($dir . DIRECTORY_SEPARATOR . $value)) $grafik= $temp[3];
$this->result[] = array(
'grafik' => $grafik,
'size' => filesize($dir . DIRECTORY_SEPARATOR . $value),
'path' => $dir,
'file' => $value,
'depth' => $this->depth);
} } } } }
$scanner = new FolderHelper();
$scanner->scan($roden);
$result = $scanner->result;
array_multisort(array_column($result, 'depth'), SORT_NUMERIC,
array_column($result, 'path'), SORT_ASC,
array_column($result, 'file'), SORT_ASC,
$result);
foreach($result as $item) {
if ($item['depth'] >= $begynd && $item['depth'] <= $slut) {
echo $item['path'] . DIRECTORY_SEPARATOR . $item['file'] . ' - size
'.$item['size'].' '.$item['grafik']."<br>\n";
} }
?>
--
mvh Jan.
Help Microsoft stamp out piracy. Give
Linux to a friend today!